Gere dinamicamente consultas LINQ

Temos um objeto

public class SomeObject
{
   public Name {get;set;}
   public City {get;set;}
   public State {get;set}
   //various other parameters.  Let's say there's ~20
}

É possível criar dinamicamente novas consultas LINQ sem recompilação do código-fonte? Em vez disso, os parâmetros de consulta vêm de uma estrutura XML que é armazenada e atualizada no banco de dado

var result = from i in someObj
             where 
             //XML requests Name = 'Bob'...so append this where clause
             name = 'Bob'

Isso pode ser feito?