Co třeba takhle?
WHILE ((SELECT top1 sl1 FROM tabulka WHERE sl1<32767) > 0)
Tím předejdeš chybě překročení rozsahu INT, ale nevím, k jakému účelu to má sloužit a jestli bude vadit, když se nevyberou všechny hodnoty z tabulky... Nebo místo INTEGER použij třeba LONGINT...