The quickest solution (from the scripting side) would be to use "trigger volumes" to mark the eddies and things. But, from a level building and game play side, I like the idea of using textures since I imagine these water features would have different textures/animations so the player could identify what sort of behavior to expect (i.e. white-water, reverse animation, etc.).
Going from the top of my head, I would have the boat scan for the texture, look up that texture in a list (maybe just use the first letter in the texture name to make things quicker), and then use the physics values stored in the list for that frame.