Neat ideas - I've been thinking about a manual option for the placement of trees and weeds. Right now they're generated programatically on-the-fly, using location specific functions so you always get the same trees in the same places. But a custom lake could use an optional method of getting the coordinates for any objects from files. That could include something like a dam as you suggested, or buildings, or really any object you'd want to use to decorate the scenery.
The skyboxes right now are hardcoded. The game uses different ones depending on the weather, but custom skyboxes or a similar method of adding distant surroundings would be another option.
I plan to experiment with dynamic clouds and variable lighting, and a method of getting more distinctly visible waves on the surface. Ultimately I'd like to be able to experience a fishing trip with wind and weather changing throughout the day, long shadows in the evening, a colorful sunset, followed by fishing under the stars.
Paul