I'm coming at this from the angle of overall throughput of the network. So it looks like the Bitcoin daemon listens on 8333 and 18333 for connections.
What if, Bitcoin used... say 50 ports, or maybe even just 20 on both sides. I think you'd be able to receive multiple at the same time given they were operating in an asynchronous manner. I'm not sure of the overall code structure, but wouldn't it allow for more throughput overall if both sides were communicating and routing based on open sockets?
I don't know the deep technicalities of ports and throughput and I know it's not your job to teach me, but I am curious if there's any possible gain here.