"...
2. Can I run multiple databases (Live, Test and Training) per website (http://application:9090) or do I have to have a separate website for each database (http://applicationprod:9090, http://applicationqa:9090)?
..."
You should be able to use one webserver to reach all ie. HTTP://www.application:xxxx/QA, HTTP://www.application:xxxx/PROD, etc. But running the other servers may provide further protection from accidentally putting test data into your production environment and vise versa. I assume you have user accounts setup for testing, training and production and these accounts do not span across multiple systems. I just thought I would comment on your post, as I'm currently developing a system for a small business. Hope my thoughts were useful to you in some way.
CT