Non ho letto l'intero messaggio (troppo lungo a quest'ora), però quando dici
Dato che la selezione avviene dinamicamente, non credo si possa fare da XSL e quindi devo premunirmi in PHP per differenziare l'XML da dare in pasto all'XSL.
non sono assolutamente d'accorco con te, io lo farei fare all'XSL quel lavoro.

Con "pezzo dell'XML riferito alla pagina nella quale mi trovo" penso ti riferisci a <sezione value="">, dunque basterebbe passare il value in questione come variabile XSL e poi nell'XSL prima di mostrare il contenuto di <sezione> fai un test se value corrisponde o meno alla variabile passata.

Penso che ti risolverebbe molti problemi questa soluzione.