Не совсем применимо к этой задаче, но на ту же тему.
Можно еще использовать функцию сокращения фильтра, преобразующую фильтр '1|2|3|5|6|7|9' в '1..3|5..7|9'
..
Вставлю и свои 5 копеек, но уже по этой реализации - см в стандарте функцию GetSelectionFilter() формы 31 Item List