Might not be a bad idea if it was capped at 50% max. Even then with some enchantments it would get close to 0 cooldown. Thats just way too imbalanced.
There has to be a 10 sec cooldown for most shouts otherwise it becomes an easy spamming tool.
But your idea isnt bad, you could get buffed depending on how many souls you have, not enough to make it imbalanced, just enough to make you feel more powerful. In conjunction with my idea, it would make a quite interesting play of balance between soul "buffing" yourself, and using souls to do powerful spells and shouts.
How could it reduce it to 0 cooldown? There are no effects that reduce shout cooldown except for the Amulet of Talos, unless I've missed something, and you can't enchant items with the Fortify Shouts enchantment yourself. Even praying at a Talos shrine doesn't Fortify Shouts (well, it does, but it's a 0.2% reduction, so not a big deal).
So the smallest the shout cooldown would get would be a 70% reduction. Makes it so the shortest-cooldown shouts (about 15 seconds) would be useable again in about five seconds - not too terrible, and would make Shouting much more useful.
I like the idea that more souls = more Fortify Shout. Another idea I had was to create a whole new skill based on Shouting; it'd work like any other skill, where you get skill bonuses for Shouting. Higher skill means lower Cooldown, and you could have different Perks in the skill tree for things like 'Increased Damage', 'Longer Duration', maybe some reduced cooldown on some specific Shouts - basically, methods to specialize in specific types of Shouts.