Ваш Where
возвращает перечислимое количество планов, а не автомобилей, и ваш экземпляр плана содержит две машины. Если вы хотите отфильтровать автомобили, вам нужно применить свой Where
к коллекции автомобилей
Data.plans.SelectMany(p => p.car)
.Where(c => c.lilist.Any( li => li.cid==1 && li.lidecesion=="E"));
, если вам также нужен план, содержащий эту машину
Data.plans.SelectMany(p => p.car.Select(c => new {Car = c, Plan = p})) // this returns cars with according plans
.Where(x => x.Car.lilist.Any(li => li.cid==1 && li.lidecesion=="E"));
Вы получите объекты - Pair {Car, Plan}, свойство Plan по-прежнему будет содержать полную коллекцию автомобилей, но Car должен удовлетворять вашему фильтру.