I feel for those working the front lines who have to ask for such information, but I am not giving it. However, rather than making their jobs harder I simply make up the information. You want a zip code? How about 12345? It works. Or I know that Arizona begins, at least I think it does, with 845 so I just add two numbers to that even though I live in California. I also do not carry grocery store cards so I just enter the general phone number of the largest employer in my area. It works.
I began doing this a long time ago because I didn't want to make anyone's job harder or be unpleasant about refusing. And it works for me. Corporate gets zip, the cashier gets an easy transaction, and I get out of there, privacy intact.