Em suma, não.
O roteamento é baseado em IP, porta e protocolo - não no aplicativo. Isso acontece no nível do sistema, na pilha de rede do sistema operacional.
A única maneira teórica de fazer com que uma aplicação faça algo diferente de tudo (até onde eu posso pensar) é se a aplicação - ou todo o resto - é pausada e retomada de alguma forma de base de votação. Quando a aplicação retoma, altera o roteamento; quando é suspenso, muda de volta.
No entanto, não é possível suspender todos os processos que não são de aplicação dessa maneira. (Mesmo que você pudesse, não consigo imaginar nada além do desempenho ruim do sistema ou do aplicativo.)
Suas únicas opções de SO único são distinguir o que o aplicativo faz por IP, porta ou protocolo - ou alternar entre diferentes perfis de rede para tudo que usa as informações de rede do aplicativo conforme o aplicativo é lançado e depois terminado.
Uma alternativa seria executar o aplicativo em uma máquina virtual no mesmo sistema operacional, como VirtualBox ou algo de VMware .
Ao fazer isso, a máquina virtual teria sua própria pilha de rede que poderia ser configurada independentemente do sistema operacional do host em que ela é executada.