To accomplish what you ask without using the dynamic linq lib, you can define expressions for each test in the where clause, then use them to build a lambda expression:
Expression> isIndividualCustomer = c => c.CustomerType == "Individual";
Expression> territoryIdIs3 = c => c.TerritoryID == 3;
Expression> customerIsIndividualOrOfTerritoryId3 = Expression.Lambda>(
Expression.Or(isIndividualCustomer.Body, territoryIdIs3.Body), isIndividualCustomer.Parameters.Single());
Usage:
var query = context.Customers.Where(customerIsIndividualOrOfTerritoryId3);