I've submitted ticket #1600 for this request.[1]

But just to make sure you know, it is quite reasonable to store the
<taxonomy> in an external file and then either

 a) XInclude it into your <teiHeader>,

 b) point directly to the external file (e.g.,
       <occupation code="occtax.xml#to2.dd"/>
    ), or

 c) point directly to the external file using a private scheme URI
    mapped out by a <prefixDef> in the <teiHeader> (e.g.,
       <occupation code="o:to2.dd"/>

Choice (c) is the easiest to encode, and the most robust & flexible;
but it is also a bit harder to set up and significantly harder to
write code to process. Choice (a) is only better than putting it in
your <teiHeader> by 1 step. (But at my project, that one step -- that
the people doing the encoding shouldn't have the burden of seeing or
dealing with the <taxonomy> -- is what we care about, so we use
choice (a) for now.) My sense is that most projects lean towards (b),
but that is based on scant and ill-recalled evidence of people who
were *planning* to use <taxonomy> in their projects, not actually
doing so much yet. :-)

And, of course, the same three possibilities could be used for your
prosopographic data, too.

> I would prefer to keep the teiHeader simple and avoid taxonomies
> because we are dealing winth a lot of prosopographic entries.
> Said that, can anyone tell me more about the reasoning behind the @type
> attribute? I still think it would be the best approach.

 [1] See If you have a
     GitHub account (and maybe if not, idunno) you can arrange to get
     notifications when the ticket is updated by clicking on the
     "Watch" button near the upper right.