un PL es un procedimiento almacenado de Oracle si no me equivoco, si es asi, no creo que sea una buena manera de hacer las cosas meter un PL, para eso esta el motor de datos....
Ahora bien, si necesitas crear una cursor dentro de uan consulta, eso se se puede, solo debes crearlo en la consola de oracle y luego, pasarlo a una variable para luego ejecutarlo.