Is this for a lot of tables or a single table?
I have managed this in two ways in the past. (based on the fact that the SQL where clause is defined in the definition of the table, and like you, not seeing how I could override that at runtime).
1. Create a second instance of the table in the Object Mapper which is identical but without the where clause. So, if it was for Customers, my main class would be 'Customers' whcih would include the where clause, and then have 'CustomersInclDeleted' as a object which did not. In that very special case where I need the deleted customers as well, I can use the second object.
2. The main way I manage this is to separate out the code that returns entities and entity sets behind a Facade layer. So I never directly call something like pm.GetEntities<Customer>() in my code. I will always call a separate method in a Facade layer to do this, such as GetCustomers();
So in this case, I will have possibly either GetCustomers() and GetCustomersInclDeleted() methods in my Facade layer, or I will have a GetCustomers() and GetCustomers(bool inclDeleted) method.
Hope this helps.