Archies Mom,
I think that you need to separate being picked up from the "come" command. Come only means come here right now. Use another cue word when you want to pick him up. If he doesn't like to be cuddled except when he's in the mood (and some dogs don't - heck, some people don't!), then you don't want to associate something negative- being picked up - with coming to you.
Since Archie has a history of only responding to "come" occasionally, it would be a good idea to change the word you use for that command and reteach it. There was a recent thread on that here:
http://www.yorkietalk.com/forums/showthread.php?t=47650
Once Archie is coming to you regularly, you can gradually add one of two things to ensure that he doesn't run up, get the treat, and run away. Either
very gradually make your hand on his collar part of the criteria for getting the treat. Or, since, he's a bit touch sensitive, it might be better to require a sit/stay at the end of a come before he gets his treat.
Hope this helps!
PS I agree with the others that an emergency down command is a good one to teach. But, it's a good idea to also have a reliable recall.