In Christian Lundkvists blog post about possible uses for IPFS, he suggests that storing the Ethereum blockchain as an IPFS object could potentially decrease the size of the chain:
We see the deduplication we gain when putting the state database on IPFS - between two blocks only the state entries that have been changed need to be explicitly stored.
What would be needed to implement this in practice? I can imagine that converting each block into an IPFS object manually could already be done if you want to save some space when importing/exporting a chain between trusted parties, but what about making this the standard way in which the blockchain is stored and distributed among the nodes?