2 guys smoke shop has locations in Salem, Seabrook? and Nashua. (pick one, depending on where you are coming and going from). Another nice thing about the one in Salem is that Ham Radio Outlet is a few miles down the road in the other direction. (Rte 28).
I like Tobacco Haven on Rte 13 in Brookline, better, though. There is a state liquor store next door to it too, as well as a packy with beer etc.
As far as gun shops go the only ones I go to are MFL, Rileys, and Stateline in Plaistow (not to be confused with the "State Line" in Mason, different owner). There's also Collectors in Pelham. It all depends on where you are coming from and going to.
-Mike