Du kan inte komma runt det här med "vanlig" SQL.(Men jag skulle vara glad om jag har bevisat att jag har fel)
Du behöver något slags programmeringsspråk (t.ex. Java, lagrad procedur) för att hantera detta.
Ett alternativ är att ladda upp XML-data till en tabell (kan göras med SQL*Loader) och använda kolumnvärdena i din fråga.
Detta är en av begränsningarna hos Oracle som verkligen gör mig galen. För 20 år sedan kunde detta ha varit lite acceptabelt, men nuförtiden...