Problem there is that you might wind up with a Landship. You'll need to tweak the passability of the tiles around the water, but leave the water itself passable, just to make sure that the ship won't cross the mountains.
RM Skill: Intermediate
The way I did it is that I made it so you can only get on or off the ship by going to a dock. Once on the dock, the event I placed will tranfer a player to a map identical to the one they were in. Only I switched the passibility of the tiles. For example, if you were on land and you went on the dock, have the player turn into a boat and transfer to an identical map only you can walk on water but you can't walk on land. And vice-versa when you're at sea and you approach a dock. I hope this helps.
"Like the moon over the day my genius and brawn are lost on these fools" ~Bowser's Haiku from Super Mario RPG.
RM Skill: Advanced
Thats a weird problem to deal with. Depending on your mapping, the islands of yours should have some kinda border where water meets land, wether this is done with beaches or cliffs doesn't matter,which you could make unpassable (Tools, Database, Tilesets, Passage = x).
After that, its a matter of making the water passable, therefore once your in the water (with a character graphic as a boat) you shouldn't be able to reach the land, cuase it has a border which is unpassable.
If you are doing something completley different, I would need a picture to see, otherwise I could suggest finding a blank space in the tileset (not the top left one, maybe one thats in the corner of a tree and isn't used) change its passability to X, then use it on the 3rd layer to create an invisible border).