I am assuming that related functionality usually lands up in the same part of the module namespace. This fact can help us in discovering related or alternative packages or functions available in a given area. For example when I am looking for list related functions I can search for who all exports "Data.List".
I guess creating such an index should not be difficult. All the necessary information is available in the packages' .cabal files, we just need to extract it and create a module name to package name index.