You could I guess but it's really better to just use a credit card. Your CC company rewards you for using it while a Bitcoin transaction is the opposite - it costs you money to spend BTC. If you want anonymity, use cash. If not, use a credit card.
Do you really believe that the CC rewards are free?!? You, the customer, ultimately pay for them. Purchase by CC costs the merchants money (how much is it nowadays, around 2-3%?), the merchants pass that price increase on to customers (regardless whether they pay by cash or credit card nonetheless).
By that logic then it makes even more sense to use the credit card over both cash and <whatever>coin. If the transaction price is getting bundled into the overall price of the article I'm buying, why would I pay in cash and lose credit cart protections and loyalty points? Or even worse, why would I pay in bitcoin and lose the same as above and incur a transaction fee myself?
Which they don't and also it's illegal. You can charge less for cash, but no one does that. (Except your one or two examples out of the thousands of stores)
It's not illegal, but it is against Visa and Mastercard's rules, to levy a fee or surcharge to use a credit card. What IS illegal is to prohibit merchants from offering a discount to induce customers to pay by cash or check, which is why merchants that do so don't end up having their Visa and Mastercard contracts cancelled.
We were just discussing this earlier with some friends. Don't bitcoin transactions take a large amount of time? A block takes 10 minutes to mine, and there is no guarantee your transaction will be picked up by the currently mined block (or the one after), because there is a limit on the number of transactions that can fit in a block. Are there solutions to this?
Ethereum's blocktime is way shorter: 10 seconds. You usually want multiple blocks to be finalized, from 3 to 6 to be sure you are on the longer chain.
The proposed blockchain solution for this are state channels where payments are then instant. Using state channels you can build a multi-hop network solution called Raiden (Ethereum) and Lightning Network (Bitcoin).
By that standard, when you use a bog standard Visa card you're not actually paying with dollars[1], you're paying with the artificial virtual currency your bank provides that is pegged to the dollar at 1:1, and merely funding your account with dollars.
No, you are paying with whatever currency the counter-party accepts. What backs the debit/credit card does not matter as long as the issuer thinks you have the assets to cover the loan they are making. If I have a card linked by my brokerage account I am not paying for dinner with shares of AMZN, I am paying in dollars and at some point will be required to convert some asset into dollars to cover the loan.