Well, there are different ways you can simulate that.
One would be to create the Spell X times ( if the normal Cd is e.g. 10, make 9 others with cd 9 8 7 6.., it just has to have same icon and tooltip and no effect). If you cast the spell you run a timer or something to keep track on the CD, then if you trigger the reducement, you remove the orig spell and add the new with reduced CD(round the value) and cast instatnly.
Because you obv dont want to interrupt the order you should take a spell that doesnt.
Also start a timer with the same timeout as the CD and as callback remove the dummy and add the original again.
The CD-Shadow will repeat, but if you make this to kinda Runeeffect i think noone would notice.
This is probably a very complex mechanism, but if you really want it, thats the idea.
Ofc it would be much easier in (v)Jass, because you can code your framework there and define your own functions, like SetCDtoPercent, which would rely on the framwork.