During render can I render freestyle lines, then re-insert them back into the scene so other objects may interact with them during their rendering?
So I broke up the scene into 3 render layers:

A freestyle render layer which just renders the lines
A land+water which renders the land and the water without lines
And a land layer which is used for depth

Then mix like this:
we use land + water as a base, outputting a material index so we can mask the water area.

material index:



Then using the alpha channel of the freestyle layer we mix the original output and the colors we want for both above water and below, using a material to output the depth of the land enabling us to interpolate between surface colors and depth color on the water covered surfaces.

depth land material:



these are the compositor nodes:



and this is the result:



of course you can tweak the colours of the lines and make it look non-terrible :P

Hope this clears up your doubts!

(if you want the file I can give it to you, but I probably broke any kind of settings or order that you had)