I thought about it as well, and I think that editing the walk file would be the easiest way to achieve that for individual ships. Since walk file surfaces can overlap (that is, you can have one surface above another with no problem), making some sort of ramp to the ratline and then up the mast.
Of course, one problem with exporting walk files from Maya is that such construct is gonna be visible from below, but it can be averted by using TOOL - just make one, tiny triangle, export it into the TOOL, and use walk file as collision data donor. Since collision data is independent from actual model, this triangle can be hidden inside the model, below the waterline for example, and still serve as perfectly functional walk file.
Um... I just got another idea... Is it possible to add another "location" to the ship? Like, "crow's nest", which places you X units above the ship or smth?