Normally, unless you are running a fast connection at home and are willing to set up a machine to be a dedicated server at home, the thing to do is to get your site hosted. There are many excellent places where you can get your site hosted externally who would be able to offer a fast connection, high uptime and depending on your need, the ability to scale.
You can run a local MySQL server, or if you get your site hosted, many hosts will have things like MySQL, PostgreSQL etc.
Well, that depends on the methodology that you are using. There are several libraries out there that will help you use the most advanced technology (WebSockets) to the older technologies (Comet, Long-Polling with AJAX) by detecting what the browser can support.
If you had 10,000 concurrent users, hopefully by that point you have a very robust framework and a good server in place. 10,000 concurrent users is a pretty high amount, and unless you are realistically expecting this, it's not worth trying to optimize for this straight away. (But worth keeping in mind for the future if you're expecting to grow to this!)
If the online chatting is a very important part of your site, one of the other solutions is to use a 3rd party chat client like [ChatSpace or an [URL="https://www.google.com.au/search?q=irc+server+software"]IRC server - you can host those server components yourself (or have them hosted) and connect a client to them, there are a bunch of [URL="http://www.vedetta.com/ajax-irc-clients-list"]web-based IRC clients](http://www.akiva.com/default.asp?l=1&id=9) that you could use for that.