I'll start, it's a very simple 2 step process:
1) You need a domain name - $8.88 from namecheap.com per year.
2) You need a hosting account - This is the slightly harder step. If this is a brand new site I would get a small shared hosting package (couple hundred megs of space, and couple gb or transfer - should run anywhere from $25 a year to $5 a month or so). You can easily upgrade hosting packages with a shared host as your site grows. I'd say you have a fair amount of time to live on a simple shared hosting account if it's just a small business website. If the traffic starts to get too heavy your host will let you know and you'll probably need to consider moving to a dedicated box, or at least a virtual private server. That is something that you'd probably need in the long run for a serious business, but not right away, and most hosts will gladly work with you and help you move to a different account. I'll leave it to others here to recommend some hosting companies, but let me know if you have any specific questions.