You can easily change how many sea-tiles a seasidebuilding should have access to for being builded - and set limitation for any shiptype if you want that. Even the water-based bonuses have it (fish fx.). Value of the <iMinAreaSize> is the key.
In my own games, I have changed most values for all seaside-buildings and most shiptypes and a few "water"-bonuses, that I want to limit (pearls, amber and whales - I don't want them in smaller inland-seas).
I'm using:
<iMinAreaSize>-1</iMinAreaSize> for workboats (it's default and must NOT be changed).
<iMinAreaSize>3</iMinAreaSize> for docks.
<iMinAreaSize>8</iMinAreaSize> for smaller ships.
<iMinAreaSize>50</iMinAreaSize>, <iMinAreaSize>100</iMinAreaSize> or <iMinAreaSize>200</iMinAreaSize> for early buildings and larger ships.
<iMinAreaSize>500</iMinAreaSize> for shipyards and medium vessels
<iMinAreaSize>1000</iMinAreaSize> for industial shipyards and big vessels.
I have tried to "get" fish into lakes by setting <iMinAreaSize>2</iMinAreaSize> for the fish - but it doesn't look like any of my 2 favourite map-engines are hooked on that - I still have to do it manually....