While you remember what you are doing in terms of filtering, I think there are also open issues regarding filtering the open documents tab which I think would also be useful too (I don't use it that much myself though).
By the way, I tried that and I have it mostly working. It was more complicated though - the filter column update function has to be recursive because the hierarchy is unlimited, but the most annoying (and for me unexpected) part was the need to convert GtkTreeIter between the store representation and the filter store representation because some API (like adding/removing rows) works on top of the store while other API (expanding/collapsing) works on top of the filter store representation.
I need to clean up the code a bit and will post it shortly.