TL;DR
Convert terrain next to water tiles into "beach" tiles and let that beach tiles be minable, which converts them into water.Also look at my other suggestion, which is strongly related to this one. I splitted the topics to keep the board/thread structure tidy.
viewtopic.php?f=6&t=100615
What ?
I know you hate the idea of seperating our bases from biters with water tiles (ditches), so i specifically aimed for a non-OP solution here. Both suggestions together make it impossible to do so.While world generating, convert every regular ground tile in the range of ~10 tiles around water tiles into a "beach" tile, which is either made of gravel or sand (whatever you like more or even both) and let those tiles be minable. So its not exactly a "place water-fill wherever you want"-solution, but still allows for small adjustments to be made to the generated terrain.