1) You have to use two different ports.
So if you have 2 VNC server, and default ports for VNC server is 5900?
You just use 5901 for one of the VNC server and forward that port to it's IP address, then you use another port like say 5902 and forward that port to the IP address of the second VNC server (which you have to change it's default port that correspond with the x server to 5902 ).
So when you're at work, on your vnc viewer just enter your public IP follow by the port and it'll direct it to the right computer.
2)You could do that, but I think VNC doesn't use port 80, I think it uses java so you have to append the port at the end, you can use both name and IP. Usually if I wanted to connect to my VNC server I would use an IP address following the default port
http://public ip:5800
5800 would be the default port for java on VNC.
If you only have 1 IP, you'll have to append the port because the web broswer will think it's going to connect to port 80.
3)Not sure for I never used anything beside the VNC viewer for Windows and Krdc on KDE.