You could try to optimize for efficiency, but it's not usually worthwhile.
Is all this really necessary?
The short answer is; probably not. (CSS
Wizardry, regarding CSS efficiency optimization)
On the other hand, if you have some real-world example wherein a particular element can only appear once-per page, but can appear in different locations within the document, you may wish to style it differently. You can accomplish that by specifying rules even more specific than just the ID.
I can't think of a "real" reason I'd ever need to do this, but here's a silly example -- an easter egg hunt, wherein some egg image appears once per page and needs to scale with particular parent content:
header > #egg {
width: 64px;
height: 64px;
}
.navigation > #egg {
width: 32px
height: 32px;
}
footer > #egg {
width: 16px;
height: 16px;
}
#egg .cleverly-hidden {
width: 16px;
height: 16px;
opacity: 0.5;
filter: alpha(opacity=50);
}
etc.
It's notable, however, that even though CSS optimization usually yields unnoticeable results, you should still keep things as simple as possible. For your own sanity, and for the fringe chance that your site hits a level of complexity wherein "endless" selector chains in the context of a dynamic document do become noticeable.