To není možné jako v SQL, pořadí provedení je první, klauzule where a poté select. V době, kdy se klauzule provádí, neví, co jste definovali jako alias, a tak dostanete tuto chybu.
Musíte svůj dotaz přepsat takto..
SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90