These structures we are talking about may not be defined by the SiP, and
just saying we have SiP specific tags is not good enough.
There is enough room in 64-bits to create separate tag spaces for every kind of category you can think of. (In fact, we could also just let every vendor allocate their globally unique tags instead if we prefer that model. We're not going to have more than 4 billion entities working on this together, and none of them will need more than 4 billion types of tags.)
If we use tags, then we must agree on who owns/dictates the tag list, and how we add/claim tags for vendor specific purposes and avoid tag collisions.
I have not heard a solution to that without establishing some owner / standards body to allocate tags. Until we do, tags are not going to work for the types of platform/system agnostic features we must support.
Why not just define the tags in the TF-A upstream repository? Like Simon said, TF-A needs to maintain a list of them anyway to be able to interpret them, so why not just make that list the global authoritative source? This doesn't need to be some complicated bureaucracy. The TF-A headers defining this are written in a way that they can directly be included from other C code bases without include dependency issues (e.g. as a Git submodule, or by just copying them verbatim and resyncing regularly... this is the include/export thing Manish mentioned). I think that model actually makes coordination much easier than if a bunch of different projects needed to manually reimplement the same structure definitions tied to UUIDs.