Honest merchants ask which way I prefer, so yes, it's an option on their POS. I would guess that the POS also knows the native billing currency from the card number.
Dishonest merchants have already run the charge in USD by the time I object. I estimate that were I to demand a charge in the local currency, I'd get that, but of course with the original charge persisting.
Your credit card issuer is your point of contact for disputes that can't be resolved directly with merchants.
And yes, cash is king, but if these stores accept Visa/MC, they should play by the rules.