Раз уж Вы используете pf в качестве nat (не в качестве фильтра трафика), то возможно есть смысл убрать pass правила и оставить лишь:
pass all no state
А также описать skip для интерфейсов, которые отношения к nat не имеют (это все, кроме $int1, насколько понимаю).
Относительно таблицы состояний:
Понаблюдайте за
pfctl -si
current entries ...
при разных нагрузках.
Потом укажите в конфиге pf такое значение, чтоб оно было недостижимым в current entries. Насколько мне ясно, State Table использует память динамически, поэтому казав в set limit states 1000000 ничего страшного не произойдёт :)