Samuel Jack wrote two interesting posts discussing possible extension methods for LINQ. One is to implement progress reporting of a LINQ query. The other is to implement a way to cancel a running LINQ query.
Both implementations are very simple and they are very good to illustrate how LINQ can be extended and manipulated in a simple way by using extension methods.