Didn't your web searches turn up eLinux? elinux is your friend for basic information about the Raspberry Pi and requirements. Try these following pages:
RPi Hardware Basic Setup - eLinux.org
http://elinux.org/RPi_Hardware_Basic_Setup#Power_Supply
RPi Hardware Basic Setup - eLinux.org
http://elinux.org/RPi_Hardware_Basic_Se ... _Will_Need
With regards to Internet, whether you need it, depends on what you want to do with your Pi besides just code. It is easier to set up and get information if your Pi has an internet connection, but not essential.
I do not understand your question about a multiple USB Hub. Powered USB hubs are best so as to avoid problems with not enough power. About the particular dongle you are asking about, do you mean does it draw too much power or whether it will work on the Pi? There is a Verified Peripherals page, accessible with links on the above pages, that lists many peripherals known to work with the Pi.
Which model to get is a matter of preference, budget, and your personal hardware requirements. Depends on how you want to set it up, both will do basic programming, the Operating systems are identical.
I am using Class 4 SD cards, but higher classes are said to perform better, although not necessarily. eLinux has an entire webpage devoted to listing SD cards that do and do not work on the Pi. Again, links are on the above eLinux pages.
What language is best, depends on what you want to do with it and how much other experience you have. The Foundation is big on python I believe, so you might get more support here with learning python.
But you can learn any language you want on the pi! What I like about having an internet connection for my Pi is that if I come up with a technical question, I can immediately use a search engine to hunt for an answer. If I have errors in code, I can paste those into the search and find out how other people solved those problems. But it is not necessary, just nice to have that access.
FORUM TIP: To view someone's posting history, sign in, click on their user name, then on "Search User's Posts." || Running ArchLinuxArm on Model 2B and 512MB Model B