Is it possible to reject a bitcoin payment? Say someone sends bitcoin to an address. It is later determined that those incoming funds are tainted and the recipient wants no association. What is their recourse?
The protocol doesn't include a way to reject transactions, for a variety of reasons (the protocol doesn't know which output is real and which is change; blocks can't be changed after being mined; etc) but it is possible to do something similar.


Accept payment, then return it

Pick one of the funding addresses at random, then send the coins back to that address.
Accept payment, then destroy it

Send the coins to an address that doesn't have a private key associated with it, like 1BitcoinEaterAddressDontSendf59kuE.


Implementations

To my knowledge, no client implements an easy way to do either of these things. The best way would be use coin control to select the offending output, then make a transaction that returned/destroyed it.