Sure, we may look up a widget once or twice too often, but that's a hash lookup and thus quite fast. There certainly are things in the dialog setup that need attention. Currently we throw start all over every time. Thus we cannot have fields with history. Too many handlers.
Most dialogs currently attach a zillion handlers in order to track the status of buttons.
That is, IMHO, pointless when we can just get the status from gtk when we need it. Range selection widget instead of text entry. Jon Kaare is taking a look at that.