Sounds doable. If there's no way to do something like spoofing the player position to have the server believe the client isn't underwater (like 1.8's VoidTP) then some form of automatically placing and breaking doors/non-solid blocks at set breath thresholds should be perfect.