If you have a crate or baby gate you use for Chachi, then i would put him there when someone comes to the door.
I have a question though, i hope my memory hasnt let me down like it usually does

But was it not Chachi that was being kicked by your neighbour's little boy? I know for a fact that a lot of Yorkies only need one or two unpleasant experiences that will put them off for life, they will turn on whatever looks like hurt them or scared them in the past.