FTPが制御用コネクションとデータ転送用コネクションを用いているように複数のコネクションを張るタイプのプロトコルであれば、
最初に確立するコネクション以外は動的に確保されたポートで通信するケースはあるよ

何れにせよ、
特定のポートが他のプロセスで利用されていないかを確認しても、
その後そのポートを開く前に他のプロセスがそのポートを開いてしまう可能性があるので(race condition)
どの道、ServerSocketを開こうとした際に失敗することを考慮しないといけない