Можно попробовать такое решение:
1. Склонировать весь список при помощи
cloneNode
2. Отфильтровать клон нужным образом.
3. Заменить оригинальный список на отфильтрованный клон.
Таким образом мы касаемся DOM всего два раза, а не на каждой итерации.
Стоит учесть, что при этом надо будет заново привязать события к элементам списка.