Завести новое свойство элемента, например:
hide_in_section_page
Это свойство-флаг. Логика поведения: если оно не установлено — элемент показывается (там где вам нужно), если установлено — не показывается. Например, пускай это будет числовое поле. Если пустое или ноль == флаг не установлен, если единица — флаг установлен.
На странице со списком элементов в настройках компонента прописываете, в какой переменной будет храниться дополнительный фильтр. В этой переменной передаётся массив, который будет склеен с фильтром, который передаётся в
CIBlockElement::GetList.
Пусть будет переменная, заданная в параметрах компонента по-умолчанию:
arFilter.
Перед вызовом компонента нужно инициализировать массив.
Для нашего случая:
$GLOBALS[ 'arFilter' ]= array(
'!PROPERTY_hide_in_section_page' => 1
);