Você provavelmente entendeu mal a limitação. Se você estiver executando um servidor com soquetes de escuta, não será afetado pelo limite de portas. O serviço apenas escuta em uma ou várias portas (por exemplo, porta 80 para um servidor da Web) e não "usa mais" do que isso.
Apenas com os clientes do serviço, a imagem é diferente. Eles precisam "reservar" uma porta para cada solicitação de conexão para servir como terminal da conexão. Normalmente, você não ficará sem portas, a menos que o cliente esteja criando um grande número de conexões por algum motivo ou esteja girando-as com muita rapidez, para que o sistema fique sem portas antes que os timers TIME_WAIT expirem.
One client opens and hold multiple TCP connections but there are multiple 1000 workstations running this client in my scenario
Você não está vendo esgotamento de porta então. Se você está tendo problemas, isso se deve a outra coisa. Existe uma coisa como o limite de memória para o conjunto não paginado, que se aplicaria principalmente a sistemas de 32 bits e limitaria efetivamente o número de conexões em torno de 44.000 - consulte a seção 4.8 do FAQ do Winsock para detalhes. Você pode estar atingindo vários outros limites também. Este artigo smallvoid.com explica alguns deles.