Dolphin Market is the closest place in Cruz Bay, it's easily walkable from the ferry dock, just up the hill from the National Park docks. They have really upgraded the place over the past couple years. We provision from them when we stay on St John and have been pleased with the quality of the meat.

http://newsofstjohn.com/2015/08/17/dolphins-getting-a-major-makeover/

Also, Starfish Market is slightly further but still walkable. It's down past where the car barge loads, and most anyone could give you directions if you need to walk over there if Dolphin doesn't have what you want.