This has been
discussed a
few times
before. Although it remains a tantalizing idea, we haven't yet found a way to do it that wouldn't be too complex and error-prone.
If there is a fixed list of global variables, that makes us responsible for deciding what they are, and maintaining standards and documentation for all of them. It also becomes a backwards-compatibility issue if we need to change them for any reason. And since it's so trivial to add a single variable, it's easy to see how quickly this would degenerate into either a) a huge, ever-growing list of "standard" variable names that are reserved for global use, constraining skin authors with regard to naming options, or b) a revolving door of proposal, argument and rejection of new global variables, which would suck time and energy away from working on real functionality.
On the other side, if the list is
not fixed, then users and skin authors will presumably be able to expand the list on their own, and in doing so, it will be very easy to create conflicts, break each other's skins by overwriting important values, or just generate such a sprawling morass of redundant data that it becomes more of a complication than a useful resource. Every skin that wants to use the global list would be forced to account for an indefinite range of user-defined variables, most of which would be completely irrelevant to the skin in question.
This is one of the many reasons that we have settled on a "self-containment" model for Rainmeter skins. We prefer to minimize the chance that one skin's plugins, addons or variables will interfere with another's, and we have found that this approach has had better results for everyone.
We are, of course, always open to new ideas. I'd be delighted if there's some elegant way to implement global variables that we just haven't thought of yet. :)