Нередка такая подобная задача встает, когда требуется задать фильтр по какому-нибудь свойству, например, для компонента bitrix:news.list.

Для получения вариантов из свойства инфоблока типа «Список» можно воспользоваться следующей удобной функцией:

<?php

function get_enum_values_by_prop_code($code, $iblockId = false)
{
    $filter = ['CODE' => $code];

    //можно дополнительно передать ID инфоблока,
    //если символьные коды повторяются в разных ИБ
    if ($iblockId) {
        $filter['IBLOCK_ID'] = $iblockId;
    }

    $propertyEnums = CIBlockPropertyEnum::GetList([], $filter);

    $result = [];

    while ($enumFields = $propertyEnums->GetNext()) {
        $resultInfo = [
            'ID' => $enumFields['ID'],
            'VALUE' => $enumFields['VALUE'],
            'XML_ID' => $enumFields['XML_ID'],
        ];

        $result['BY_ID'][$enumFields['ID']] = $resultInfo;
        $result['BY_XML_ID'][$enumFields['XML_ID']] = $resultInfo;
        $result['BY_VALUE'][$enumFields['VALUE']] = $resultInfo;
    }

    return $result;
}

Функция принимает на вход символьный код свойства инфоблока. Дополнительно можно передавать ID инфоблока, когда символьные коды свойств повторяются в разных инфоблоках.

Возвращает функция массив из 3 элементов, внутри которых уже лежат все варианты значений поля: по ID, по XML_ID, по значению. Из данного массива вы можете с легкостью достать все необходимые данные, обратившись по соответствующим ключам.

[
  "BY_ID" => [
    48 => [
      "ID" => "48",
      "VALUE" => "Apple",
      "XML_ID" => "apple",
    ],
    49 => [
      "ID" => "49",
      "VALUE" => "Samsung",
      "XML_ID" => "samsung",
    ],
    50 => [
      "ID" => "50",
      "VALUE" => "Xiaomi",
      "XML_ID" => "xiaomi",
    ],
  ],
  "BY_XML_ID" => [
    "apple" => [
      "ID" => "48",
      "VALUE" => "Apple",
      "XML_ID" => "apple",
    ],
    "samsung" => [
      "ID" => "49",
      "VALUE" => "Samsung",
      "XML_ID" => "samsung",
    ],
    "xiaomi" => [
      "ID" => "50",
      "VALUE" => "Xiaomi",
      "XML_ID" => "xiaomi",
    ],
  ]
  "BY_VALUE" => [
    "Apple" => [
      "ID" => "48",
      "VALUE" => "Apple",
      "XML_ID" => "apple",
    ],
    "Samsung" => [
      "ID" => "49",
      "VALUE" => "Samsung",
      "XML_ID" => "samsung",
    ],
    "Xiaomi" => [
      "ID" => "50",
      "VALUE" => "Xiaomi",
      "XML_ID" => "xiaomi",
    ],
  ],
]

Также можете посмотреть получение вариантов из пользовательского поля типа «Список» для Highload-блока.