Как заставить битрикс не кешировать определенные участки кода в шаблоне?
Простите конечно, но дичь в данном случае то, что предлагаете Вы. Ни один фрейморк не поддерживает "не кеширование определенной области внутри кешируемой" (найдете опровержение - с удовольствием побеседуем и рассмотрим как возможно применение данного алгоритма).
Собственно в Битриксе есть 2 механизма для решения Вашего кейса:
1) Убрать кеширование результата (html) и сделать кеширование данных. 
На мой взгляд не лучший вариант, так как на рендеринг тоже нужны ресурсы, которые и так дорогие
2) Определить дополнительный ключ кеширования.
В StartResulCache во 2 параметр можно добавить свои ключи, и в данном случае у Вас это будет ключ устройства пользователя (mobile / desktop), после чего будет хранится 2 кеша: для мобильных и для десктопных клиентов.
Может это поможет https://dev.1c-bitrix.ru/api_help/main/reference/c...