There is no way to show a different status to only a select few contacts or contact. Statusses are always for all your contacts; this is the way the Messenger protocol works. As soon as you change/set your status, it is passed to the MSN servers which pass it on their turn to all your contacts.
----
The Plus! Personalised Statusses have also nothing to do with this or aren't a close match either (or whatever). This is because they are not really personalised or new statusses... It's a trick that Plus! does with what is seen on the screen; in reality you still will have one of the normal Messenger statusses and the setting/changing statusses system (aka protocol) will still work as it otherwise would.
Your contact firstly needs Plus! installed in order to see a Plus! custom status instead of the default statusses. And second, the custom statusses are actually nothing more then the "away" status (or any other existing Messenger status), but Plus! filters the word "away" out and replaces it with the given custom status text.
So for people who don't have Plus! the contact list line would look like:
[away icon] This is my screen name yadda yadda {snoring} (away)
People with Plus! will the see line:
[away icon] This is my screen name yadda yadda (snoring)
because Plus! has filtered out the "away" status and replaced it (only on screen) with the stuff between {}.
----
As for your particular "problem". The most close thing you can do is block him...
Another way is to set yourself as "Appear Offline". With the new versions of Messenger you can still talk to contacts when you Appear Offline. But this of course means you can't set your status anymore to something else (or you're "busted"
)