This is mentioned in
https://en.bitcoin.it/wiki/Weaknesses#Illegal_content_in_the_block_chainMy take is that any remaining balance in the transaction associated with the illegal content could become not spendable if clients for fear of the legal consequences do not verify that the coin associated with the illegal content is unspent.
Bitcoin really needs a way to keep the blockchain and traffic at a reasonable size. One step is to purge old transactions and addresses from the chain. To keep bandwith low, something like keyframes (like in videostreams) could be added. The blockchain would contain a keyblock every x blocks which basically is a status-quo snapshot. Then a client would only need to download the latest keyblock and the blocks after that one to be up to date. Those keyblocks would, like transactions, only be valid with x confirmations of the p2p network.
The original paper already covers this.
You only need 80 bytes per block to confirm a block is part of the chain. These are called the block headers.
Once you have the headers for the entire chain, you can then ask for the blocks starting with the last block and working back.
To verify a transaction, all you need to know is the block that the coin comes from and confirm that it is still an unspent coin.
To do that, you need all blocks between the head of the chain and the transaction that created the coin.