So I suppose I could create a custom css page for each special category and import its particular rainbow theme
You could create separate css pages for each category but it creates more work. I would normally only create a separate CSS page for IE6/IE7 hacks. You could just create separate codeblocks on your admin:css page, one for each category.
In each of those same css pages, I could follow the first import by importing my own "custom tweaks" to the rainbow theme. Since they all draw from custom tweaks, they'd all change consistently, right?
Yes, providing your "tweaks" are on their own page (or in their own codeblock on the same page) and are then brought in with the @import after the @import for the rainbow theme. You would only then need to change your custom css on your tweaks page/codeblock for it to cascade through all the pages where you are importing it.
I could have a single CSS page, in which each code-block first calls its rainbow theme, then applies my own custom-tweaked code-block 1. Would that reduce the need to reload-refresh?
No, the need to refresh is a browser cache issue in Firefox. In IE you shouldn't need to but Firefox usually just requires you to clear the browser cache to see the changed CSS. A 5 second job. I do it every time I change any piece of CSS as a matter of routine.
Is there any way to import the base theme, but to identify all instances of those 3 the color codes with variables, defined in a subseqent layer?
No, with a few small exceptions (css rules specific to IE6 users for example) you can't have variables in CSS.
Finally, I'm wondering if I might be pushing up against a layer limit
In this context don't talk about layers, they are for graphics programs and only really crop up in CSS when you are overlaying one element on top of another with positioning. Layers implies something completely different to the concept of cascading.
You are talking about an @import limit and the number of @imports gets to be a bit of a problem after 31. I suspect you won't hit this.