I just did a checkin of 22 files to start cleaning up the icon size issue.
Although there were many files touched, the actual line count is fairly low. The main thing is to switch off of use of the GtkIconSize enum. For end programmers out there, the change is only from "GtkIconSize" to "Inkscape::IconSize" and from "GTK_ICON_SIZE..." to "Inkscape::ICON_SIZE...". Thus it should be a very low-impact one.
So please give things the once-over to make sure nothing snuck in as far as side-effects go (it did pass 'make check' and all the other smoke tests I ran, but it's always good to check). The thing this checkin should have achieved is isolating use of GtkIconSize to just two main files. That way the work to change some icons smaller can go in easily.
For those who care about details...
The calls for themeable stock items use GtkIconSize as a base, but then allow for arbitrary string-based sizes to be registered for new int values. Thus we can't simply extend their enum with +1 and use that directly. Instead we need to add in a lookup to translate at run- time from our extended enum to the types registered dynamically. This buys us quite a lot of functionality, and only needs extra work in a single file. First phase was to encapsulate the use of GtkIconSize in those two main locations. The second phase is to add the dynamic mapping of enum/int values. Then the third stage will be to change selected things (like the eye and the lock) to use Inkscape::ICON_SIZE_DECORATION.