Is this a safety/security reason or is it just convenience?
There isn't any reason that I'm aware of to think that this would be desirable. I'm not aware of any way that it would improve things and it would make the network highly prone to partitioning. E.g. why would the nodes in north america ever have any connectivity to the nodes in europe?
Making some number of additional connections to nodes on your LAN would probably be useful, but it isn't that often that there are multiple nodes on a LAN.
Computer networking has no inherent method to establish geographical location. It can guess - by looking at response times but this would take some time (and what would it do if others joined in while it tested?) It can also guess by using database lookups. But GeoIP lookups are necessarily centralised. What to do if that centre goes offline?
Even if we could establish geographical location, we would probably have to engineer around it: if you're only connecting to neighbours you'll end up with weakpoints in the network. For instance, all nodes in the Florida Keys would be cut adrift from the wider network if nodes in Miami had a power cut.
My take on this is that there is no deterministic way that is reliable to even know what is closest. Furthermore, it is not even optimal for the network to do that. If you think about it, an attacker clustering miners to do a Sybil-type attack would have trouble if the network encourages miners to go out and seek connections with nodes on the other side of the planet. Bitcoin is also confirming things so slowly that connection speed is simply not a relevant issue right now.