В функции GetList есть плохо документированный параметр, отвечающий за разбивку результата выборки на страницы. Если более точно, то у объекта CIBlockResult есть метод GetPageNavStringEx, который выстраивает навигацию.
Этот код будет выводить содержимое инфоблока, разбитое по 20 элементов на страницу.
Параметр NavStart(0) показывает, какой отступ сделать от начала.
NavPrint() выводит постраничную навигацию.
Можно ее немного модифицировать и использовать шаблоны компонента system.pagenavigation.
Шаблон постраничной навигации находится здесь: /bitrix/components/system.pagenavigation/templates/
Для того, что бы изменить шаблон просто копируем например шаблон .default в папку с шаблоном сайта.