3) здесь вам не Реакт(с). Не передавайте обработчики событий в нижние компоненты (вместо этого emit события делайте) - подскажите, почему антипаттерн?
Напрягает именно перечисление? Можно v-bind="someObject" в родительском компоненте, тогда в дочерний в пропсы попадет все что в этом объекте
сделать флаг, когда форма активна, а когда нет и проверять ее в вотчере?