Нужно выбрать элементы функцией CIBlockElement::GetList, задав примерно такой фильтр: "значение в промежутке между X и Y ИЛИ значение равно 0". Какой задать фильтр? Ведь массив организует логику "И", а параметры, начинающиеся с '?', предназначены только для строк, как я понял.