I'm not quite sure what you mean by "multi-level selects", but I suspect you mean correlated subqueries. Similar to sentence fragments.
Useful device. Will be used. More later.
Like most syntactic outliers, subqueries are useful. Used judiciously. The can simplify some convoluted coding, reduce extra steps, and occasionally improve performance. They can also to the reverse of all in spades.
My usual preference is to keep subqueries restricted to a depth of one, possibly two in exceptional cases. Anything more than this and I start abstracting out the queries, either as views or additional CREATE TABLE queries (use your workspace for these). The set nature of SQL means that, if you can work out the logic and parameters of the queries themselves, you can replace a subquery with the equivalent table or view.
I have to admit complete ignorance of PL/SQL, but I've used SQL extensively in generating reports with SAS, where many intermediate steps can often be saved with some only mildly convoluted query logic.