You can make any ability upgrade with-upgrades
Hero spells, item spells, whatever. You don't need to make it work, so your spell options are limitless here. What you want to do is set the "hero ability" and "item ability" data fields to false so the spell is a unit ability. Then set the levels of the ability to however many times you want to upgrade the ability +1 (or the same level if you require an upgrade to use the ability in the first place).
For the upgrade set the upgrade's effect to be an Ability Level Bonus, with an incriment of 1 and a base of 1 (unless you want the upgrade to increase the ability from level 1 to level 3 or 5 XD)
The melee game ability raise dead and upgrade skeletal mastery use this system, so you should check out that ability/upgrade settup to guide you on your way. Becuase the upgrade system uses levels and hero abilities use levels as well, if you turn hero abilities into unit abilities most of your work is cut out for you
The only real problem i have run in to is actually upgrading the spell, I've found if I create a unit that increases the level of abilities through upgrades the upgrades can only be accessed if they are owned by the same player wishing to upgrade an ability, so it is impossible to create a sort of "class trainer" that is universally accessable. If you set the upgrade to be researched through a powerup (such as the glyph of fortification) then the powerup will never scale in cost with researches and will be avalible to purchase after the abilitie's level has been maxed out - of course this is only a problem if your map is multiplayer XD