I much prefer telling the store "no". That way, they they'll at least get the occasional reminder that there are customers who hate this sort of thing.
The funny thing is that in many stores that have "loyalty programs", when I tell them I'm not signed up and am not interested in signing up, they'll just use a different loyalty card number instead (I assume it's the clerk's, but I'm not sure).
You can't assume they will do that everywhere. I was in CVS, and it seems like rather than discounts for "loyalty" they have jacked up their prices if you don't have the card. They said they would look me up by my phone number, but when they didn't find me, that was it, no discount. I said fine and left the overpriced batteries behind.
I don't know why grocery stores don't seem to care, whether it's corporate policy, or employee culture.
I don't. Personally, I don't care if they do this or not -- it's entirely irrelevant to me. I was just noting it out of amusement.
In general, I tend to avoid stores that have a loyalty program, because (as you note) their "loyalty card" prices tend to be the same as the normal prices at stores that don't.
I actually abused this once. A local general store required a phone number to “reactivate” my discount/bonus card and I went to free sms service to register it. My next visit was paid by a collective bonus of everyone who did the same. I think that every time someone registers a number+card, all bonuses from this number go to “new” card.
The funny thing is that in many stores that have "loyalty programs", when I tell them I'm not signed up and am not interested in signing up, they'll just use a different loyalty card number instead (I assume it's the clerk's, but I'm not sure).