Никак. Даже если взять фреймворк, то и там где-то внутри будет тупо цикл.
Во-первых, производительность вас беспокоит зря, основная нагрузка это reflow, а он не должен происходить только потому что кнопку задизейблели (конечно, все зависит от верстки).
Во-вторых, если кнопки лежат в каком-то общем контейнере, а атрибут не является жестким требованием, то можно обойти это классом.
.disable-all-buttons button {
pointer-events: none; /* отключаем реакцию на клик и тап */
opacity: 0.6; /* делаем кнопку "бледной" */
}
Кидаем этот класс на общий контейнер и bob's your uncle.