Hosting : You get what you pay for, you can get free hosting, you could buy shared hosting, which is anywhere from 3$ - 20$ a month generally. Or you could buy a VPS (Virtual Private Server) Which is pretty much having your own server, all to your self. These are a little more expensive at about 80$ / month. You could also, if you site gets a lot of traffic go with a dedicated server. This is your own server and can cost anywhere from 100$ - 400$ a month, depending on the specs. VPS and Dedicated Servers require a bit of knowledge about web hosting though.
Design : Personally, i would get a pre made template. You never know if your sites going to turn out good, and spending almost 200$ on the theme is a bit much, since customers dont come to your website for the looks, they come for the prices!
Domains : Yes, it costs money to register a domain name and you generally pay per year but you can also pay for 2 - 3 or more years in advance. If you are going to use paypal to purchase the domains, i suggest Link hidden: Login to view You could also try out Link hidden: Login to view if your paypal account has a credit card attached to it.
I hope that helps :)