1. Who is hosting your databases? (I say databases, because each user(s) will have their own database although each database will only hold up to 500,000 records at the most.)
You can use most any hosting site. GoDaddy has some really inexpensive options with unlimited bandwidth. If you are going to have a really complex setup, then you can host a machine there, and even that is not expensive. The will setup the machine to specs, etc. But this may be overkill for your needs.
Costs associated with doing this (SQL Client licenses, hosting fees, etc)?
Depends on if you need a full version of SQL Standard or if SQL Express will work for your needs. Again, you will have to check into the hosting sites themselves, but this is not an overly expensive endeavor.
How is your app making the connection (SF Enterprise or standard connection pointing to the databases using a URL address)?
If you are going to do this, then you will definitely want to use ES. Direct connections to an external SQL Server will not work in a production environment like this due to limited bandwidth. The TDS stream alone will consume most of your bandwidth. So you will definitely want a web service that does all of the compression and reformatting of any type of TDS stream for you. In this example, Enterprise Server.
As I am new to doing something like this, is there anything I need to be aware of or make sure I do before hand in getting this accomplished successfully?
The number one thing I would recommend is to make sure that you are not trying to create a direct connection to SQL. This will set you up for failure from the beginning if you do this. However, if you setup a sounds machine that is hosted someplace with guarenteed up time and lots of bandwidth, then put ES on top of it, then you will be in great shape.