Generally you don't actually "assign" the public IP to the box that is behind the router. You normally assign a static NAT rule, that translates incoming connections on the public IP address to the private IP address of the server.
So your router will have 2 public IPs assigned to it, and it will have static rules to send connection requests bound for public_IP_1 port 80 and port 443 to linux_private_IP, and public_IP_2 port 25 and 110 to 2003_private_IP.
You can actually do this using a single public IP address, and boy does it confuse vulnerability scanners and port scanners. They expect a single OS on a given IP. Having some ports point to a machine with one OS, and other ports point to a machine with another OS is really beyond the scope of their capabilities.
This does mean that you will have to statically address the two servers that are behind your router. Some routers will let you define them in DHCP by MAC address, but others require that you reduce the scope of the DHCP pool and statically address outside that pool.
Couldn't find any details on your router, so I can't say for sure.
pansophic