1. Any domain name extension can be accessed from anywhere. But of course the easiest to remember and most common is .com.
Don't make your domain name so long, people can't remember it. If you do decide to hyphenate your domain name, buy the same version of the domain name without hyphens, in case your customers forget the hyphens. Simply forward the name without hyphens to the name with hyphens.
After you get a domain name you will need web hosting which is where all of your files will be stored. It’s important to choose a reliable web hosting company that allows business sites and offers a variety of packages so that you can upgrade as you grow. You will need to choose a package based on disk space, bandwidth or file transfer limits, email accounts, and additional services such as databases and included software.
2. It just depends, sometimes different places have specials. Personally, I usually use GoDaddy.com. But do some research on doamin name providers and you can find cheapest one.
3. This is where it will get more complicated. In order to accept payment via your website you will either have to use something like paypal (which has fees) or set up a merchant account with a service (has monthly fee).
4. Before starting any business you will need to check the zoning laws and business license requirements for your local area. You may be able to get all the information you need from your local government, but it is advisable to consult an attorney to be sure you get started on the right side of the law. It would be a shame to get your business going and then face fines or being closed down because you are violating local laws.
There are also international and national laws to research and consider. There are numerous U.S. FTC regulations for online business (including privacy policies and collecting information from children) and they apply to anyone who does any business in the US.