Sie können den Alias nicht in der WHERE-Klausel verwenden. Wiederholen Sie entweder den Ausdruck (unordentlich) oder setzen Sie Ihr SELECT in eine Unterabfrage und setzen Sie dann die WHERE-Klausel in die äußere Abfrage:
SELECT Id, Name, City, State
FROM
(
SELECT
ID,
Name,
CASE T.N
WHEN 1 THEN City1
WHEN 2 THEN City2
WHEN 3 THEN City3
END AS City,
CASE T.N
WHEN 1 THEN State1
WHEN 2 THEN State2
WHEN 3 THEN State3
END AS State
FROM YourTable
CROSS JOIN (VALUES(1),(2),(3)) AS T(N)
) T1
WHERE City IS NOT NULL