Where are you located? This is probably something that will have to be pre-ordered by you, but I would think any local butcher could accomodate you. Locally to me, Thwaite's Market in Methuen and Butcher Boy in North Andover are two that come to mind.
Okay..so neither of my original suggestions would be practical for you. You could try Hilltop Butcher shop in Weymouth. I've never been to that one, but the one in Saugus is very friendly and accommodating.
Any supermarket could probably order ahead. Certainly a Market Basket. McKinnon's in Somerville, Sulmona butcher in the North End. Heck head to NewMarket Sq. (right off 93S) and poke around the wholesalers. Sure someone will sell you a ham.