Is it possible, under Windows, to define different routes for different programs? In other words: if I had 2 programs running on the same machine, can I force program A to use a gateway and program B a different one? Assuming both gateways are on the same network and through the same network adapter.
You can only do this if the application itself can bind to a specific network adapter. Things like PWS (Personal Web Server) for instance can in some cases do this. But generally the answer would be no.
A more direct question would be why you have two gateways on the same network. Odds are there is probably an easier way to do load balancing or "routing" on a network appliance.