1) Someone asked about switching a domain name to a different host. To answer very simply, YES, this is possible. I've had to do it once, and, well, it was really confusing to me so I'm not the best person to ask. I would suggest e-mailing your current host and/or the host you wish to switch to, to ask them how to do it with their systems. Your domain name and your hosting account are (in theory) two separate things, so switching should definitely be an option for you.
2) Here to add another recommendation to the list! http://www.totalchoicehosting.com
is EXCELLENT. I used them for a year before I decided not to run my random little website anymore. They are cheap, have tons and tons of options, offer cheap domain names, and their customer service is amazing. You send in a little "ticket" and even those with "low" priority are answered in a personal way usually within 24 hours! I couldn't have been happier with their service and when I start another site I'll definitely be going with them. In addition, they offer a handy device called cpanel (other hosts may give you this as well) which makes it incredibly easy to manage your site, subdomains, FTP accounts, stats, extras (like shopping carts), etc, etc. But that's enough raving from me, eh?
This is a great thread... I would definitely suggest anyone who's thinking about a domain name to write all these sites down and visit them all to decide, that's definitely what I'll do!