Как правильно организовать бизнесс-логику в Yii2?
С одной стороны - действительно можно легко реализовать подобный функционал на RBAC с помощью его правил. Но нужно понимать что RBAC (Role Based Access Control) - это система разграничения прав ДОСТУПА на основе РОЛЕЙ. Ваша задача не относиться к РАЗГРАНИЧЕНИЮ ПРАВ, а относиться к логике отображения товара - поэтому, на мой взгляд, подобному функционалу не место в RBAC, это логически не правильно.
Введение дополнительного битового поля лучшая идея, но опять таки, на мой взгляд, его размещение в модели товаров это не совсем корректное решение (но в принципе, допустимое, если проект не большой), т.к. в модели должна быть бизнес-логика, а Ваш функционал - это логика отображения товара на сайте. На мой взгляд, будет более корректно выделение подобной логики в отдельную сущность ProductDisplayRule - которая, будет содержать данные по правилам отображения товара на сайте, и использоваться в остальных частях системы
Реализовать с помощью RBAC в виде пермишенов - гибко и удобно