Well, there are free domain names available (not .com .co.uk etc, but similar in length) such as .uk.to from this site:
http://freedns.afraid.org/ I've used them before and they're faultless, and offer a ton to choose from. And, of course, sometimes the domain name comes free with the hosting. I'd avoid this, though, as you're essentially buying through your host, giving them almost complete control over how much it costs you in the future.
Hosting wise, take a look over at
http://freewebspace.net/forums/ and have a sift through some of the forum threads. Some hosts come off surprisingly badly considering they're in the 'top 10' if you google them. From experience, I'd stay away from the really small companies (the ones with just one admin on their support forums, for example - it's a dead giveaway). When something goes wrong and there's only one person to fix it, you can be left high and dry for a very long time. And I'd avoid the mega corporations too - there's a lack of 'friendly' support, and you feel your simple request like 'could you transfer this database for me?' has to go through 15 different people with 15 different procedures for doing it efficiently. Get the right balance, though, and you'll be fine.
Names wise, I haven't really got anyone to recommend based on past experience. Other people have found
Powweb.com to be pretty excellent. 'Unlimited' web space and bandwidth is a definite no-no for anyone looking to run a large, high bandwidth site (unlimited to them means 'within reasonable limits or we'll cut you off'), but you should be fine with what you want to do. Again, you get a free domain, but you might want to look into what happens after the year is up.