Well if you're putting classes on them like "level2" then just do:
.level2 { /* rules */ }
meaning there's no need to go:
.level1 .level2 .level3 { /* rules */ }
if you simply assume that level3 is correctly placed, which should simplify such things as:
.level3 div, .level3 span, .level3 p { /* rules */ }
versus the alternative.
There is no way of saying:
.level3 (div or span or p) { /* rules */ }
unfortunately.
but if you want to specify the rules by element depth, it's a little trickier. The easiest way is to use the child selector:
ul li > ul li > ul li { /* rules */ }
if you know the structure and can reasonably express it. The problem with this approach is that IE6 doesn't support the child selector. If you do this:
ul li ul li ul li { /* rules */ }
those rules will apply to the 3rd level and below, not just the third level. That can get tricky to correctly specify in light of rules at different levels that might contradict each other:
ul li { /* rules for 1st, 2nd, 3rd level */ }
ul li ul li { /* rules for 2nd and 3rd level */ }
etc
That might work depending on what you want to do or it might not.