No, it's not really possible. See this link (for TSQL):
This is derived from a simple query and defined within the execution scope of a single SELECT, INSERT, UPDATE, MERGE, or DELETE statement.
In PostgreSQL, it is the same (see here):
These statements, which are often referred to as Common Table Expressions or CTEs, can be thought of as defining temporary tables that exist just for one query.
Simplest way to change WITH to make it work with more queries would be rewriting it to SELECT INTO
queries:
SELECT a,b,c
INTO #TemporaryTable
WHERE a<>b
(do something)
DROP TABLE #TemporaryTable