Hi,
It seems that you're looking for a list of distinct States that occur in Postings that satisfy the WHERE condition (I could be wrong about this 😉).
If so, you could use JOINS and GROUP BY State which I imagine might take less time ...
SELECT State.name, State.abbrev
FROM State
LEFT JOIN Unit ON (Unit.state = State.abbrev)
LEFT JOIN Postings ON (Postings.unitId = Unit.unitId)
WHERE Postings.active = 'y'
AND Postings.expires >= now()
GROUP BY State.abbrev
ORDER BY State.name
P.
PS. You could at least test the speed of this query and compare it with the original .