Register domains at GoDaddy. Then find a host. When you sign up with a host, tell them you have your domain already and they'll give you nameservers to which you'll set at GoDaddy. It's a good idea to keep your registrar separate from your host - this allows for much easier hosting transfers if you run into hosting trouble.
I'm currently using 1&1 for my site, but they're shit. The only reason I'm using them is that my friend gave me his free 3 year account. Just launched a site for a political group the other day at
A Small Orange - they seem quite good so far.
I believe this board is hosted at LunarPages - there's a link at the footer. I've read some complaints about them (mostly email and database related) over at webhostingtalk.com, but their packages are huge.
Pun intended.
