Hi, @John_Man
Typically, geolocation details come from the visitor's IP address, which is where the existing "Countries" report gets its data.
The reason "state" and "zip" are supported by Data Sources is they are commonly/typically associated with transactional data such as an online purchase. In fact, these are the s.zip and s.state variables you're likely familiar with.
That said, if you have an eVar to spare, have you considered uploading your custom Country data into a new, Data Source-specific eVar?