Nice! Seems like you have thought out a lot on this !
We are developing something similar may be not on the scale you are envisioning.
My doubt is all of these are like powers so how do you plan to manage that in UI. To show a player having like 75 spells and choose which one he wants to use?
Would be something like player can only carry with him a few of spells instead of all he has discovered or something.
Best of luck.