Line Item propertyを使って実現をします。実装にはLiquid編集の知識が必要になりますので、
Shopify Partnerにご相談をされると良いと思います。
返信ありがとうございます。
リンク先を参照し、以下のようにすることで項目を追加することはできました。
特定のタグを付けた商品だけに表示させたかったので分岐してみましたが、合っていますでしょうか?
{% if product.tags contains "セレクト" %}
<p class="line-item-property__field">
<label>バニラ</label>
<select id="" name="properties[バニラ]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</p>
{% endif %}
エラーメッセージを表示させたりなどは、なかなか難しそうですね。
できれば自分でやりたいので、Liquidの編集方法をもう少し調べてみようと思います。
編集が無理な場合、アプリの導入も検討していますので、もしご存知でしたら教えていただけますと幸いです。