In general when using alternate port for apache (or IIS) the steps to support virtual hosts that you describe are totally correct but in the browser address bar the port information should
always exist.
For example, if we setup a virtual host named "elxis.loc" and we have an apache listening on 8080, we should type
http://elxis.loc:8080 and of course modify the configuration.php properly
Consider the case closed
Thanx