Y'know, as someone who manages a retail operation (not firearms, more's the pity), I just cringe when I hear stories like this. If I were the manager at these places, I'd want to know who these employees are who are driving away customers and costing me business. You don't have to be confrontative, just find out the managers name and address, then get the names of said clerks, then send an actual letter to the manager, with names, dates, what was said, and how the clerk made you feel.
Seriously, these days, no business can afford snotty attitudes in their employees. By making a calm, factual, and unemotional complaint, you'll be doing the manager a favour, as well as yourself. You'll feel better, and if the manager has his s**te together, service will improve there for everyone.
And besides, nothing puts the fear of God into an employee like "How do I get in touch with your manager?"