I had even thought about doing something like this in Armory as another kind of payment option.
(1) Recipient gives the user his payment address.
(2) Sender, perhaps at a far later time doesn't know if that address is still valid, etc
(3) Sender creates a signed transaction and emails it to the recipient
(4) Recipient opens it in Armory and it says "This transaction sends 13.24 BTC to Wallet ABC" or "This transaction does not send coins to any wallet you own"
(5) Recipient presses "Broadcast" if they are happy with it. Or replies with "this isn't valid, please use this address instead: ..."
It also makes MitM address swapping attack much less potent, because the person broadcasting is much more capable than the sender, of recognizing whether the transaction goes to their own wallet (edit: okay so this isn't actually true: because if the MitM can swap the addresses, he can probably also intercept the signed transaction and broadcast it himself... maybe only relevant if the tx is sent to the recipient through a different channel). It also means that the recipient must actually act to broadcast the tx, which could be seen as actively acknowledging that payment was accepted.
This is interesting. So as I understand it, a transaction can be created, however, unless it gets into the block chain, the funds aren't actually spent. So this is one way to make a transaction reversible?
I wouldn't call it "reversible" since transactions don't really "happen" until it hits the network. But yes it is more "flexible" than just broadcasting the transaction as-is. Just like a check, no one should consider the transaction valid until it is submitted and "cleared."
The only problem with it is, it's very easy to accidentally invalidate this Bitcoin "check" because otherwise it would require locking coins in the wallet, usually an amount in excess of what the check is for (because you would have to lock the recipient amount and the change, which could be large and necessary for further transactions). So I'm not sure how practical it is unless your wallet is low transaction volume and you expect them to be broadcast quickly.