This past summer for research I was working on linking the NOAA Rivers Database (http://water.weather.gov/ahps/forecasts.php), The National Atlas Lake Database, and the the USBGN datasets so that there were shapefiles for each lake or river in the dataset instead of just one (or two) points for each river/lake.
We linked them in MATLAB and now have this done and plan to publish it open source. Our linking does a more complete job than what's currently in TNA for linking lakes and we think this could be useful to others in the community. However, we're not sure what's the best method to publish this so that the most people could use it. Do you think KML or geoJSON would be best? Or as they are currently, an array of links matching the data together?