давайте просто возьмем распространенный момент "общего плана" - поиск по неупорядоченному набору элементов- условие поиска состоит как минимум из двух частей проверки на принадлежность множеству и на равенство определенному значению (так называемый линейный поиск). Естественно наше желание... разобраться с результатом поиска... не вижу каким образом ветка ELSE в цикле может помочь мне в этом. Более того ELSE IF в данном случае по смыслу уводит далеко от реальности... все равно, что табуретку назвать тумбочкой... да и сам факт, что по приведенной вами форме цикла WHILE я не смог "угадать" смысл конструкции говорит о многом...
Зависит от того, что подразумевается под "разобраться с результатом поиска". Если, возникает необходимость что-то скорректировать из-за вылета из цикла это одно, если же мы используем результаты поиска это уже совсем другая история.
В первом случае очевидны две вещи: во-первых данный фрагмент кода, т.е. нормализация результата работы цикла, логически является частью цикла, без него он логически не завершен, поэтом вполне естественно желание как-то объединить это в одну конструкцию (тем более ранее такая конструкция была единой и выражалась с помощью Р-схем). Возможно, реализация этого желания в Сириусе - неудачная, нужно как-то иначе отделить эту секцию от тела цикла, не с помощью ELSE, а с помощью другого ключевого слова (какого?) ; во-вторых, коль приходится дополнительно анализировать результат работы цикла, чтобы выяснить корректно ли завершен цикл, возможно, стоит перепроектировать цикл, исключить некоторые до входа в цикл, чтобы избавиться от таких провк.
Во втором случае, когда мы используем результат поиска и требуется, например, проверка что указатель на экземпляр # NIL, то это же совсем другая задача, не связанная с циклом.