Regarding hosting a domain at home, I believe you do not have to have a static IP address. You can use a service such as dns2go.com. I tested this service last fall, having two domains mapped into my apache server, and found it workable, although I was only testing on the sale of "hello world".