I'd like to put in my vote about improved UIInput text selection. It could use a better, non-character-based caret, shift+arrows to select, mouse drag to select, cross-platform clipboard support, ctrl-arrows to move by words, etc. A big part of my work right now is building an in-game level editor.
Data binding would be awesome, but I'm not sure how much use it would have on the primitive widgets themselves. As you say, databinding to a label isn't that interesting. But having a lookup list or combo box or tree that is databound to an array or a dictionary is awesome, but I wonder if it's within the scope of what NGUI is trying to provide. It seems like NGUI is more focused on being a foundation for building UI widgets out of primitives more than it tries to be an entire GUI out of the box, which is totally fine.
There are a few more-complex widgets that I use frequently: dialog, modal window, messagebox, navbar/menu, tab group, tree, combobox, scrolling list box, tooltip, file browser window, all of which I've implemented to some degree with NGUI primitives. (A real tree widget is a massive undertaking.) What's fun about that is that if I ever get one complete enough, I could sell it on the asset store. It'd be awesome if there was some sort of published standard or best practices to follow when developing a re-usable complex widget. I'm not sure how that'd work, exactly. Kind of like how there's a massive add-on community around jquery, and you can find jquery-based widgets for almost anything. I'd like to see (and develop!) NGUI-based reusuable widgets. Anything the code base could do (and I have no idea what that might be) to make that easier to develop or share, that'd be awesome. Maybe a "theme" specification: a standardized set of named sprites for window decoration and UI-element pieces? Or maybe not. I love the current flexibility, too.
About the only thing I've ever really gotten hung up on was trying to make a draggable window with a variable-size scrolling list stay constrained within the screen. The size of the invisible scrolling list changed the size of the bounds of the window, and made for some odd results. The easy workaround was to unparent the scrolling list from the draggable window, and use a follow script to update the position of the scolling list when the window position changed. Not a huge deal, but not intuitive, either.
Anyway, I love NGUI! I'm a huge fan.