Вы должны разместить свои операторы with в начале вашего запроса.тогда вы можете использовать его везде:
WITH H (super, ID, depth) AS
(SELECT ROOT.parent, ROOT.ID , 0
FROM DBTABLE0001 ROOT
WHERE ROOT.ID = DBTABLE0001.ID
UNION ALL
SELECT PARENT.parent, PARENT.ID , CHILD.depth + 1 FROM H CHILD, DBTABLE0001 PARENT
WHERE PARENT.ID = CHILD.super)
SELECT tbl1.name , tbl1.ID
FROM DBTABLE0001 AS tbl1
WHERE (exists(SELECT ID FROM H WEHER H.ID = "abcd" ORDER BY depth))