Why dont we use "UDP hole punching"
"UDP hole punching is a commonly used technique employed in network address translator (NAT) applications for maintaining User Datagram Protocol (UDP) packet streams that traverse the NAT."
Its the Sytem that the old Skypeprotocol did use!
Heres the Wikiarticle: http://en.wikipedia.org/wiki/UDP_hole_punching
It could let Bidcoinnodes behind firewalls talk direcly to each other, that would result in less stress on the listeningnodes. They only had to make known cients behind firewalls to each other.
Blocks could be exchanged indepentendly!
It would create thousends of semi-listening-hosts