One option might be to have his phone forwarded to voicemail, and when he hears the "call has gone to voicemail" tone, he could look at the caller ID and press F987 if he want's to speak to the person. Kind of a pain.
Enabling Call Screening is an option, but always sounds kind of rude to me - it's painfully obvious to the caller that they are being screened.
This is kind of ugly, but might work.
Set up an auto attendant to answer that DID at 0 rings. Don't record a greeting. Have a CCR tree (home transfer node) that does an automatic transfer to his extension, again, no greeting. The only downside is that the caller will hear "one moment please" before the users phone rings. You could then use the CLID routing in CallPilot to toss the annoying caller to a mailbox or switchroom phone that will ring forever.
If you had pro call center, you could do a similar thing, except you wouldn't need the AA and CCR tree, and the callers wouldn't hear "one moment please". But, he'd have to log in.
So, I guess the answer is, it can be done, but the results may not be desireable.