That is where I see the use of pet names. You would not talk about "nip101" or if you did, you would have something in place that would resolve to an actual parametrized replaceable event via maybe indirection. Or you would explicitly reference Alice.nip101 and then the nostr client would search for Alice's definition of "nip101".
Discussion
Probably multiple ways to handle this. In my stuff, any given chunk of data may have several ways of identifying it uniquely: universally unique ones like the data hash or an event id (which are immutable; there’s also mutable ones line IPNS names); then there are slugs which are semi-human-readable; and one of the criteria of a concept graph is that every node in the graph must have a unique slug. But of course, outside the graph the slug won’t be unique, which is why you need a universally unique id. (if you ever want to share the data with anybody, that is; which is frequently the case when we’re doing WoT) Within any individual concept, there may or may not be any unique identifiers (whether local or universal), which will vary from concept to concept.