1) I think any big-name registrar should be fine.
Just don't get a "free name with hosting" sort of deal, because this almost always means that the hoster actually owns the domain name. If you later have trouble with the host and move to new hosting, you may discover that you will have to start over again with a new domain name, because you can't afford to buy the name you'd established, or because the old host simply refuses to release "your" domain to you.
I use GoDaddy as my registrar, and have experienced no problems with them.
2) What company you use, and even what sort of account you set up, will vary with your expected usage, your needs, your skills, your support structure, and the expected traffic and growth.
There is no one answer to this question. More information would be necessary in order to even begin to make suggestions. For a start, are you familiar with the differences between "shared" hosting, VPSs, and dedicated servers?
3) You might want to ask this question on WebMasterWorld's "Ecommerce [webmasterworld.com]" forum -- after first studying that forum's library and other resources, of course.
I have no experience using a shopping cart, so I can make no particular recommendation, but going with an established "big" name seems usually a safe bet.