Когда какая-либо клиентская программа обменивается данными с сервером, клиент использует эфемерный номер порта для связи с сервером через порт сервера. Есть ли способ управления / выбора эфемерного номера порта клиента в Java.
Да, вы указываете локальный адрес / номер порта:
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) Creates a socket and connects it to the specified remote address on the specified remote port.
http://download.oracle.com/javase/6/docs/api/java/net/Socket.html#Socket%28java.net.InetAddress,%20int,%20java.net.InetAddress,%20int%29