There have been several news articles recently about the practice of giving out ZIP codes when asked my cashiers. Here is one article: http://blogs.lawyers.com/2013/03/zip-codes-private-info-in-massachusetts/
And another: http://www.moneytalksnews.com/2013/03/20/in-massachusetts-stores-cant-ask-for-your-zip-code/
Now, I know that gas pumps ask for this information after you have put in your credit card information as a way of verifying that you are the correct person using it, and I have been refusing to give out my phone number when asked by cashiers, but this is something new. Apparently, retail stores ask this to find out where their customers are from, but some are using it just to collect information.
About 15 years ago, I held a job in marketing for a small office of a larger company, and I used to buy a lot of addresses to send brochures out to. I also attended several marketing conferences and two training programs on how to do direct mail advertising. We only sent stuff to a very narrow audience because our service was business-to-business, but I learned never to fill out a free card for anything like a warranty registration, or put my business card in a fishbowl, even for a free pizza! So now I have a new thing to put on my "never" list.
I will not shop at a store that requires you to apply for a discount card (Krogers, etc) for this reason, nor will I give out my phone number to cashiers. (I could give out fake information, I suppose, and once had a card for a chain where I did put a fake name and address.) Regardless of what the cashier tells you, there is a very good chance they will collect this information and sell it to someone doing what I used to do. I will give my zip code at the gas pump, however.
Thought some of you might want to know about this.