Not really. Most computers don't have GPS built in (or another implementation of that same sort of concept).
Here is what you can do:
Giving computers sensible names (like "northwall-desktop-5") is a common practice. Something like this is very commonly done.
Have each computer be plugged into a smart switch. You could even assign different VLANs to different ports. Then, by figuring out which VLAN a device is plugged into, you could get some information about what port it is plugged into. Or, instead of using VLANs, you could use a different sort of technique like using different /30 subnets based on what port a device is in. These techniques might not scale super easily, but they are technically possible. Some additional thought/consideration might be needed if you were thinking of trying to do this for hundreds of computers. This ought to be technically feasible (for 40 computers), but may require so much effort to set up configuration to do this that you find it isn't worthwhile. That may depend on just what your goals are, and what you find is higher priority (e.g. information, or cost/complexity). Your ability to implement this may also depend a bit on your hardware: e.g. "managed switches" may be more useful than "dumb switches".
Wi-Fi access points might be able to tell you how strong a signal is: this might tell you if a device is close to a Wi-Fi access point.
If you have a cable tester, you may be able to figure out some interesting details, like how long the cabling is between a couple of points. That probably won't help you with any sort of automated solution, but the technology is close enough to what you're asking that I thought I'd mention it.
You can install cameras in a room, and digitally record what happens, if you're concerned about people making unauthorized changes.
If, by "PC", you mean laptops that might leave the room, then very often you may have different IP addresses, so that may be an effective and easy way to tell some details like whether a PC is using a wired network in a certain room, or if a computer is using specific Wi-Fi devices. Geo-IP is a technology that can convert public IP addresses to locations; it is an inexact science, but often gets some details right (like which continent a device is at... perhaps far more accurate than that, or perhaps not).
If you can access the device, you may be able to enable input, like a webcam (built into some laptops) or microphone... that may give you some input that can be used to determine if the device is near a loud source of noise.
A lot of these ideas may be a bit far-fetched, and might not be super practical/economical for business purposes. But you were pretty vague about your goals, so I just threw out some ideas about what is technically feasible.