What it could not do is garantee the integrity of every game in the database. In my view what a library search function should do is work like a search engine. The members would be the publishers. Someone could place a tournament in their library or chess puzzles. As the search function could also look at notes members could tag their games to come up in say a puzzle search.
None the less there should be some attempt at maintaining the integrity of the database. A possible means to this is a library committe made up of regular volunteer members. People with interesting libraries could apply for an integrity rating and this could be a flag in the search. For example librarysearch fischer integrity=1.
Flags are always what makes the command fun. Library search should have a lot of flags. For example playedonicc, or pgn. Also search by the rating of the library account holder. ownerrating>2400. Or search by the rating of the library games. And there could be flags to search exempt account, such as gms, ims, free computers, and icc library accounts. Also paid accounts could be a flag.
probably there are more flags that would add spice such as search in library notes for a certain phrase.
Icc could essentially run a web crawler that crawls libraryies of members in order to keep the database updated. Probably this could all be run by a bot.
All this would not be trivial to implement. If you think it would be useful to do let the ICC know.

1) Game notification console! It is allready possible to be notified when games start by titled players such as im or gm or when your favorite players start a game. You get a gnotification similar to when a freind from your notify list logs in when a game starts. The notification console could include such things as the titles of the players and clickable links. you would go to customize game console to start adding players or groups like &GM.
2) Match play! Have a bot like tomato run 6 or 10 game matches between two players. You could start a match with a freind using the bot to run it or you could join a pool of people looking for matches. The matches would only be offered at say a half dozen time controls to encourage people to start matches faster rather than haggle over the time. Also if enough of a rating difference exists the bot would allow odds matches of say 3 0 time versus 1 0 time or a rook or a knight piece odds. You would get a match rating and have a history of your last 20 match results. The history would show if a player doesnt finish a match so players who complete matches should have an easier time getting future matches. In addition there could be a best list for match players maybe maintained by the bot. The current tomato managers could act as standby match managers monitoring the match channel.
3) Make quietplay 2 block kibs! Why must one constantly toggle their kib variable between on and off every time you decide you want to particiapte in whispers.
4) Make tournaments easier to join! I have heard of servers using server aliases which enter a command or commands when you type things. Why not have server aliases so when you type 'tournament' you get the tournament listings and when you type 'join tomato' your in tomato. Also the join command could be a clickable link so the only thing you have to type is tournament.
5) A mini browser in blitzin to better learn and explore the icc.
6) some blitzin improvements! The event window is a handy way for newbies to gain access to icc's features. But the stark white background of the event window is just asking for it to be closed. Add some color to the event window. make it customizable. Also many newbies ask how can i see every game i ever played. they are instructed to go to games-> log my games to start a log file. Why not make log my games the default. Pgn files are relativly small in terms of megs and on todays multi gig hard drives they will not be noticed. It would be handy for a newbie to discover every game he played was logged and he can open this file and review them.