We have 5 static public IP addresses. But we have a number of machines that we want to RDP into from home (our individual work pcs, a couple of servers, etc). Is there away to setup our router so that we can use 1 up address and route the RDP request to different machines based on port or something?
You could also setup a Terminal Server Gateway. It only needs 1 open port (443, aka HTTPS), requires users to authenticate to it before letting anyone know what machines are on/available or what software they might be running. This of course requires a server that supports Terminal Server Gateway (Server 2003, 2008, etc).
Sure you can! You need to change the RDP port on each machine, and port forward different ports to different computers.
To change the port number RDP listens on, edit the registry key
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber on each machine.
An easy way is to have the firewall/router port forward various ports to different target machines. No fiddling with Windows ports or having to use a TS Gateway.