When you respond to questions like this, remember that people have different motivations for asking (not to mention that not everyone was brought up with basic standards of politeness). For instance, some people may be asking how many guns you have simply because they want to have their own guns but have no idea what's reasonable. In most cases, sarcasm or rudeness isn't going to really help the other person out. Yes, they need to know that it's an inappropriate question, but there are ways of deflecting the question so that they're not only educated but not made to feel embarrassed.
If you know the person fairly well, invite them shooting with you. That's an indirect way of answering their question: if I let you shoot two revolvers, a pistol, and three rifles then you may guess that I have at least six guns. It also helps them to see that different guns are for different purposes (maybe you have a cowboy revolver, a .22 handgun, a defensive handgun, a .22 rifle, a military surplus rifle, and a hunting rifle, for instance).
It also occurred to me that, in today's climate, responses like "What color underwear are you wearing?" and "How many people did you sleep with before you met your spouse?" could be seen as sexual harassment. Maybe questions more on line with "How much money do you have in the bank?" (if you must answer a question with a question) would be better.