Если вы хотите сохранить эту текущую структуру, то вам нужно будет вставить во временную таблицу каждый шаг цикла while и выходить за пределы этого возврата из таблицы TEMP.
Тем не менее, почему бы просто не использовать предложение WHERE для получения ожидаемых результатов возврата:
SELECT Role.Name, Role.AuthorityLevel
FROM dbo.Role
WHERE Role.AuthorityLevel < @MyAuthLevel
ORDER BY Role.AuthorityLevel