Func<string, bool>[] filters = {s=>s.Contains("a"), s=>s.Contains("b")};

var q = from d in list
 where filters.Any(f => f(d))
 select d;

と思ったけどよく考えたらこれでいいな