The width and height on each widget is exposed, can't you route the animation values into that?
This is effectively what I did, mirroring the AnimatedAlpha behaviour with AnimatedDimensions.
The properties for widget Width and Height are exposed as Get/Set properties which means they can't be seen by the unity animation editor (also they're Int32).
But the real issue comes from that I can't *preview* my animation while I'm animating it... I have to animate blind then see if it works later. If I animate exposed public variables directly, they don't receive updates from the animation because they don't force an update in NGUI. I had written a AnimationUtility.IsAnimationMode() editor script that did the preview, but the Unity ANimation editor generates keyframes when it updates the exposed properties of the Widget...which causes garbage curves to be created. Its just an ugly process.
What I'll probably do is create a similar helper script htat just draws a rectangle onto the scene view so at least I can see the bounds of what I'm animating or something.