Check out a good site with lots of them:
www.freewebtemplates.com.
However, I would not recommend using this site because the design quality is not excellent. Also, it is preferable to use a professional designer, such as a lot of people on this forum, to design and script it for you. This way you can have different scripting languages and a wide range of features on your site that you would not be able to do otherwise. Not trying to push my services, but to take it as an example, you can get a 10 page site, which is probably what you need, for £400. This is quite cheap for what it is as I think that the cheaper it is, the more clients I will get (which appears to be true!)
As regards to hosting, for a small site you won't need more than around 100mb and 500mb a month bandwith and probably some scripting languages like php or asp for forms and also you may need some databases like Mysql. This is normally charged per month and for this sort of package you should shop around.
www.serverme.com are cheap for small websites. Alternatively, host with a web designer and they will often be cheaper. When I design a site, I include hosting in the price.
You also will need a domain. This can be purchased from a wide variety of places. As I live in the UK I use 1and1.co.uk or UKreg.com. 1and1 are better because .co.uk domains are cheaper and you can adjust name details at any time. Most companies allow you to change your DNS/name servers for free (these point to your hosting so that you can assign it). The DNS is important as without it your hosting is pointless.
So, if I were you, I would get a cheap web designer to do it for you. But, I'm probably biased and want the work?!