Обратите внимание на метод Concat(). С его помощью можно красиво объединять результаты фильтрации.
var methods = assembly
.GetTypes()
.SelectMany(t => t.GetMethods())
.Where(m => m.GetCustomAttributes().OfType<UpdateHandleAttribute>()
.Any(v => (v.GetType().GetProperty("Data").GetValue(v).ToString() == data ||
v.GetType().GetProperty("Data").GetValue(v).ToString() == "*")
&& v.GetType().GetProperty("State").GetValue(v).ToString() == state.Id.ToString()))
.Concat(assembly.GetTypes()
.SelectMany(t => t.GetMethods())
.Where(m => m.GetCustomAttributes().OfType<AnotherAttribute>().Any()));