technically when a bitcoin transaction is not yet confirmed it can be double spent, and even you have to see at least 3 confirmation in normal state of the network to be sure about the receiving of the transaction.
Block re-orgs that long rarely happens. As long as you continually broadcast the transaction, the transaction would be hard to double spend.
Bitpay offers this, if the merchant wants. I believe that most shops do not require any confirmations before accepting the payment. It's a different story for online merchants however.
As long as they pay a reasonable fee, mining pools are willing to accept it, Opt-in RBF not enabled etc, and the transaction is of a small value, merchants wouldn't have any reasons to require a confirmation if they want their customer.