Doesn’t “petname”, as specified in NIP02 already achieve this? Problem is lack of implementation across clients of this possibility. And problem I see with this is the lack of specification for a “default” petname. If none exists (IE: if users don’t “add” a petname to each of their contacts “by hand”) then this entire layer of extra security (even as you suggested in OP) is unusable. So there’s a big problem with any implementation… https://github.com/nostr-protocol/nips/blob/master/02.md
petname as described in that nip is a weird hierarchy. i dont know what client, if any, supports that nip as written, and i wouldnt be opposed to that nip just being rewritten