Absolutely. Compositional based magic systems (whether you do it with atoms or actions or what-have-you) are incredibly immersive and interesting. On a side-note, I keeping meaning to write a post about something similar but keep getting sidetracked.
As for the issue of storage, it depends on what exactly you're looking to do. Frankly, for the most part I don't see much of an issue, especially if your system simply boils to:
E[sub]a[/sub] + E[sub]b[/sub] + E[sub]c[/sub] + ... + E[sub]n[/sub] = Spell
which means that your game
actually only revolves around the end-products. End products contain all the functionality and, realistically, the elements usually only figure in as static numeric multipliers. So, technically, they're the only ones you need to store and can do some petty optimizations to "work backward" to get the formulas you need to produce them. Hashes, special ids, whatever. The end result is that your "elements" are nothing more than GUI fodder.
Of course, if you're looking at wholesale spell creation I guarantee you'll run out of valid spell ideas (e.g. ones you can balance) long before you hit any kind of computational roadblock.
A more interesting system is one where each element plays some role in altering the functionality of the spell in question. For instance, let
Fire "light objects on fire" (duh!),
Lightning "fry the target with electricity", and
Chaos (X-Men to the rescue!) "make things really confused". For added craziness, let's say that the
position of each element affects their overall contribution. So you'd get something like:
Fire + Lightning + Chaos = Target is on fire, electrocuted, and confused ... with emphasis given to being on fire.
Lightning + Fire + Chaos = Target is electrocuted, on fire, and confused ... with emphasis given to being a living lightning rod.
Chaos + Lightning + Fire = Target is confused, electrocuted, and on fire ... with emphasis on being confused to the point of not being aware that they are also on fire (and electrocuted).
which presents a more complex combinational problem. In this pattern, each element represents some kind of functionality. I find this more interesting because the spells are defined by the elements, not the other way around. As such, you need to traverse each element's combination path and apply each effect separately. The result of a path from
A ->
B != that same path from
B -> A which is not true in the original example because the elements don't actually impact the end product in any meaningful way, even if order matters.
That said, aside from the obvious balance issues, I imagine the main "strain" on a
console with any such system would be presentation. Consoles are terrible at choice selection and while you can sidestep the creation issue by being obtuse ("You should take your time at the Alchemy Lab painfully selecting each element by controller/hand and combining them intelligently!") you'd need an extremely fluid and intuitive system to allow for the player to quickly choose from the huge assortment of possible "spells" (or whatever you'd like to call them) that would be the result.
Another possible solution, since you did not specify game play, is to do something similar to
Magicka (XNA) and abuse the possibilities of multiplayer; thereby cutting a given player's total spell choices without losing gameplay as the magic components are added interactions via players.