The port is requested by the client machine, it cannot be set by the server. You have your cause and effect switched. The client request on a certain port and (sub) domain name. You cannot specify what they requested on the server. It would not be useful to do so.
That being said, you can define what happens when the request is made on port 8080 in the first place.
# Ensure that Apache listens on port 8080
Listen 192.120.146.113:8080
<VirtualHost 192.120.146.113:8080>
DocumentRoot /www/example1
ServerName www.example.com
# Other directives here
</VirtualHost>
<VirtualHost 192.120.146.113:8080>
DocumentRoot /www/example2
ServerName www2.example.com
# Other directives here
</VirtualHost>