You don't want to go rooting around the expression tree, but you can add filters to a query for multiple entity types, the easiest way to do this is with the EntityQueryFilterCollection. These filtered entities don't have to actually be used in the particular query, in which case that filter is ignored.
Filters are not currently applied to additional types brought in via .Include, however. We'll look at addressing this in an upcoming release.
Since we strive to be feature compatible with RIA Services, I'm curious about a couple of things you mention. For one, I wasn't aware that you can use .Include from a client-side query in RIA. Assuming instead that the .Include is coming from a server-side query method (for example from GetCustomers), I don't believe that the query method(s) for any other entity types in the query expression will be called (so in this example, a GetOrders method would not be called to filter the Included orders). Can you help fill me in on what RIA Services provides here?