Before commenting on your post, I read GEPS045 and I wonder if suggestions are not a bit complicated.
GEPS045 proposals are mainly based on Attributes and bump into attribute limitations, i.e. attributes are simple key/value pairs. Most suggested annotations require more than that.
I presently (Gramps 5.1.4) workaround these limitations with user-typed notes. I can then structure my custom notes a bit like what is described in GEPS045. Of course, ergonomics is not the same as a dedicated field in the GUI dialog. You must open or create a note and commit it. It is the same complexity as using an attribute. On the contrary a field is immediately available; it is more straightforward. But it requires a clear and well structured specification because it will “freeze” the kind of information.
Regarding place identifiers, I already use ISO 3166-1 alpha-3 to build a “hierarchical” id for populated locations, a kind of gramps_id having for sole purpose to uniquely identify a place in the DB. As such, I don’t give any significance to this id, in particular no historical value. This is built in today’s context, within the current political boundaries.
This populated location is enclosed in time-tagged areas describing the then existing relationship. I can’t assign an ISO 3166 id to these “countries” (and even less to their subdivisions) because ISO 3166 was not invented yet. These countries may not survive today (what about the German Holy Roman Empire? what about the United Provinces? what about the duchy of Parma?).
Even a generic default list of administrative identifiers does not make sense because administrative hierarchy depends both on local culture and period of History. Presently, the list provided by Gramps is US- and UK flavored. IMHO, it is an error to translate the names into other languages because the translated word, though conveying the same concept, may not cover the exact same legal definition.
Take the example of country-state-county-town. Country may define the same concept as pays (fr) or Staat (de), but state doesn’t correspond politically to région (fr) or Land (de). County has nearly no equivalence. I consider we should have separate hierarchies per ruling system (both geographically and hitorically) so that there is no ambiguity. But this complicates a lot place management.
Regarding flags, I wouldn’t reference them from an attribute. I’d directly put the flag id in the place gallery. Maybe you have a rationale for suggesting accessing the flag through an attribute. To be able to sort on flag? I think this is equivalent to a consistent “enclosed by” hierarchy. Remember also that flags change with time. So again, assigning them in the time-tagged “enclosed by” hierarchy may be a better solution.
To be honest I have not yet found the way to represent my wishes about places with the present features. And I have done no deep introspection to clarify my needs.