Imho, two different port types that have the same name is a rather questionable design… Does that happen often?
I’d rather suggest to forbid this and just use the unique port type name. In case it’s not unique, the modeler can adapt it easily, can’t he?
I think renaming packages / restructuring the containment tree is something that happens quite often, and it’s more transparent to the modeler that his testcases won’t work any more if he or she changes port type names.
Specifying a path in yet another place (tagged value) is a good alternative, but from my point of view does not make it more transparent neither.