Would it be possible from a central server, communicating with two clients {A, B}, to determine if A and B are physically located on the same local network?
1) Local/Home Networks
I'd say sure. The user's NAT/router would indicate an identical IP address of A and B.
2) Larger networks with multiple gateways
My concern comes in on larger, wireless networks (e.g. an airport). If I have two IPs for A and B who connected to a wireless network through different routers, can I make any assumptions about the airport's network based on the IP addresses of A and B? I could probably get to some top-level information via reverse-IP lookup, but that might not be good enough for a very large network (like a university wireless network). The answer here is probably "no..."
Lastly, what if A and B could provide information TO the central server? This is where my networking knowledge gets hazy. If both A and B have the same gateway and a "similar-enough" public IP, I should be able to assume they are on the same local area network, correct? What are the flaws in this assumption?