This is how I did it once where I had one public static IP with two servers behind the router using private IP's. Setup one of the web servers as a main webserver listening on port 80 (default). Then setup the second one just like the main one with the default port 80 and on the main webserver that you have port 80 forwarding to, do something like this:
Code:
<VirtualHost *:80>
ServerName www.yourdomain.com
RewriteEngine On
RewriteRule ^(.*)$ http://192.168.1.100$1 [P]
</VirtualHost>
Just substitute your ServerName with the domain you're hosting and then the RewriteRule http:// point to the IP Address of the other private web server you have running apache.
And you should actually be able to run apache on port 8080 for the second server, you just need to make sure the router forwards the request on port 8080 to the correct server listening on port 8080.