Park lady was totally rude. However, I'd dial back on public use of Prissy Boy, since I think it generally does have a really negative meaning (even though it's loving in your family). The negative version is bound to catch up with him in an ugly way, and I'd hate that to happen to as sweet a boy as he seems to be.
Perhaps you could shorten it to PB and have that be your "secret code". A lot of kids really love the idea of a shared secret. Plus, you all would know what it means and it would still be a loving family in-group thing, but without the potential for backlash or teasing if his friends heard it.
Also, you said he was 6, right? 6 doesn't seem to old for a basic conversation about the differences between public and private aspects of a person's life, or for a follow up about how you're going to call him family nicknames at home and <whatever else> in public.