The Microsoft Operations Framework (MOF) used to give advice on naming conventions, and server host names incorporating location information was one of their examples. The pattern was LOC-OR-FUNC-##, or at least that's what we ended up implementing. (I'm unable to find this in current versions of the MOF documentation.) At the time I used IATA codes because I didn't want to come up with my own comprehensive location encoding standard---and because I was operating data centers in cities with international airports. Nowadays we operate data centers or branch offices in some pretty remote spots, so we've had to come up with our own three-letter codes anyway. I hate the arbitrariness of it. Recently, I came across http://www.mnxsolutions.com/devops/a-proper-server-naming-sc..., which suggests using the United Nations Code for Trade and Transport Locations (UN/LOCODE, http://www.unece.org/cefact/locode/service/location.html). It still isn't comprehensive enough for our purposes (we operate in some _really_ remote spots), but I like it a lot better than the IATA codes.
I found it actually quite surprising that this is common practice, yet I couldn't find this documented anywhere.