オプション機能のカスタマイズについて

要件を満たすアプリは分からないですが、テーマを編集すれば要件を満たせると思います。
方法は、商品1、2、3が属するコレクションを作成し、商品ページでコレクションに含まれる商品をselectで表示します。
選択肢A、B、Cは商品のメタフィールドとして登録します。使用したアプリは『Metafields Guru』です。

最初に商品にメタフィールドを設定します。

次にコレクションを作成します。

使用するコードの完成形は以下になります。

{% assign is_products = false %}
      {% for collection in product.collections %}
        {% if collection.handle == "products" %}
          {% assign is_products = true %}
        {% endif %}
      {% endfor %}

      {% if is_products %}
        {% assign is_id = product.id %}
        {% assign collection = collections['products'] %}

        
      {% endif %}

テストで使用したテーマはdebutです、コード的にどのテーマでも問題ないと思います。
コードは商品ページ(product-template.liquid)の表示したい場所に貼り付けてください。
以下はコードの説明です。

コレクションのハンドル名は『products』にしています。

{% assign is_products = false %}
      {% for collection in product.collections %}
        {% if collection.handle == "products" %}
          {% assign is_products = true %}
        {% endif %}
      {% endfor %}

最初のforは、商品1、2、3以外にも商品がある場合その商品ページではプルダウンメニューを表示をしないための判定です。商品自体にproductsコレクションが含まれているか判定しています。

{% if is_products %}
        {% assign is_id = product.id %}
        {% assign collection = collections['products'] %}

        
      {% endif %}

変数is_idは、商品1だった場合選択肢Aを選ばれたときにはページ移動をしないという要件を満たすために開いている商品ページの商品IDを控えています。

あとはselect内でコレクションのループを回して、表示中の商品か否かを判断して移動先をoptionのvalueに入れています。

S_F_さんのしたいことか分かりませんが、よければ使ってください。