Рони, спасибо за ответ!
Ваш вариант превосходно работает в Chrome, но вот в Mozilla с выделением первого из отфильтрованных та же беда.
Наглядно эту беду можно увидеть выполнив следующий алгоритм:
1. фильтруем по "Б"
2. потом по "Бе"
до этого момента все работает как надо
3. теперь стираем "е" и оставляем "Б"
но выделенным остается по прежнему Бердянск
4. стираем все символы, отображается весь список, но выделенным остается не первый элемент, а по прежнему Бердянск
5. фильтруем по "Ж", выделяется Житомер, стирам "Ж", опять выделяется Бердянск
6. снова фильтруем по "Ж", Житомер отфильтровывается но уже не выделяется
ну и такая свистопляска продолжается до обновления страницы ...
сейчас проверил еще в Opera, Safari и IE:
в Opera работает идеально, как и в Chrome
в Safari если фильтровать по "Б", потом по "Бе" то выделяются сразу два элемента
ну а IE делает вид, что вообще ничего не происходит
видимо надо держать весь список в массиве, нужные элементы отфильтровывать в другой массив и его просто отдавать в Select выделяя первый, ибо все браузеры работают с Select'ом по разному.