I think you're thinking about this a little backwards, so let's try to sort out the language your are using.
.a .b .c{
background-color: #0000FF;
color: #ffffff;
}
Looking at the above CSS, the ".a .b .c" part is the selector, and the part between the braces is the style. That selector says 'find me all of the elements with a class with "c" who are inside of elements that have a class of "b" who are inside of elements with a class "a", and apply these styles to them' -- it's a rule the says which elements on the page will get the look you want.
More than one selector can match the same element on the page, and there are rules for what order they are applied to the element (http://www.w3.org/TR/CSS2/cascade.html). The simple rule is that more "Specific" selectors override less "specific" selectors. "div.blueBanner p a:hover.highlight" is much more "specific" than ".blueBanner". If two rules have the same specificity, then the one that comes later in the CSS file overrides.
html sample:
<div class="a">
<div class="b">
<div class="c">foo</div>
<div class="c d">bar</div>
</div>
</div>
So, you have a selector ".a .b .c" (as you listed above) and two elements (foo and bar) on the page match that selector, so they all get the background color and all the other styles you defined.
Now, you also want the second element to have a green background color. It has another class assigned to it "d", so you can just define another selector which matches only that second element ".a .b .d" and set's it's background-color. The "bar" element still gets all the other styles from the ".a .b .c" selector (font, color, etc), but the background color from ".a .b .d".