Answer 1: There is no clear correlation between what things are named in the UI and what they are called in the API. UI was created for the end user and was meant to be a little more user friendly, organized and easily navigable. API was written for developers. You can usually find what you need and what things are named by using the Revit Lookup Tool from Jeremy Tammik.
Answer 2: That’s another thing that kind of comes naturally to you as you attain more knowledge with computer programming. Some things are easily translatable since they are exactly the same in both languages but then there are things that require a little bit more advanced knowledge ex: how to use methods with “out” variables or create typed collections for certain methods that won’t accept anything else. There are online services like this: http://codeconverter.sharpdevelop.net/SnippetConverter.aspx that attemp to do that conversion for you, but trust me, if you are using this for anythin other than a quick transaltion so that you don’t have to retype something you are missing an opportunity to actually learn about the things that you are doing, and instead just blatantly copying someone else’s work.