Насколько я понимаю, на данный момент вы хотите создать «дерево» со всеми удаленными параметрами, кроме того, который вы указали по имени. Для этого вам следует создать копию Сообщения, поскольку в противном случае вы измените оригинал и не сможете восстановить «потерянные» параметры (я говорю это, потому что вы сказали в комментариях, что хотите, чтобы оно было временным).
Итак, код должен быть примерно таким:
var por = (from m in messages
from p in m.Parameters
where p.ParameterName == s
select new L3Message { Number = m.Number, ..., Parameters = new List<Parameter> { p } }
);
Вместо "..." вы должны скопировать другие параметры из сообщения.
Все это говорит о том, что временное удаление этих свойств кажется плохим решением любой проблемы, с которой вы столкнулись. Если вы хотите передать это другому методу, не можете ли вы изменить этот метод, указав ему свойство, на которое он должен смотреть?
Редактировать: Фиксированный код (второй раз)
Edit2: Снова исправлен код (теперь повторяющиеся свойства приводят к дополнительным сообщениям, см. Также мой альтернативный ответ.