Detta är inte möjligt eftersom i sql är exekveringsordningen först, where-satsen och sedan select. Vid den tidpunkt då klausulen körs vet den inte vad du har definierat som ett alias och du kommer att få det felet.
Du måste skriva om din fråga så här...
SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90