Does Apple allocate a different app id for an app when submitting multiple builds for different geos? If I submit one build for the US and a different build for the rest of the world, will Apple give me 2 separate app ids? I.e. if everything is the same (app name, etc.) except for the actual game code, do I get one app id for the US and another one for the rest of the world?

This is important for cross promotion purposes, because if I hardcode the link to my app in another app then I might need to do some geo segmentation to account for the different app ids, depending on where the users are located.
No, you can't do this the way you're describing, only 1 build is allowed at a time for each app name and App ID. So obviously you can have different builds (v1, v1.1, v2, etc), but only one is live on the App Store at one time.

To solve your issue, you should look at having the code in your app handle the different locations (or language/Region Format) of each user.

It's generally thought that having different versions of the same app makes it more difficult to promote (which is why there are less Lite/Pro apps now, and more with the freemium approach with in in-app purchase to unlock more features), so having a single version of the app would also help here.

I would also point you to the following two entry points that describe how to use app-id wildcards. 


App ID under iOS 
the recently updated App Distribution Guide


Without getting too deep into the guts of how code signing works, there is truly no "one size fits all" answer since your marketing needs may override the extra work needed to properly localize one unified release. Additionally, app id choice has ramifications for iCloud data storage and will affect a small but highly vocal subset of customers that want to switch their Apple ID to another country.