Предполагая, что в методе 1 вы вообще не обращаетесь к базе данных, а просто перебираете жестко закодированный массив в файле PHP, это должно быть быстрее.
В псевдокоде вариант 1 выглядит примерно так:
for each state
render state select item
next state
В то время как вариант 2 будет выглядеть следующим образом:
retrieve states from DB
for each record in result set
render state select item
next record
Вам все равно придется выполнить итерацию по 100 состояниям - кромевы получаете их из базы данных, а не из массива.
Однако на практике я сомневаюсь, что вы увидите огромную разницу;как уже упоминали другие, с точки зрения ремонтопригодности, хранение вещей в базе данных может быть лучшим выбором.