I see some possible fixes to this being easily done in the XML. I also see an error in logic.
As the poster above me mentioned... you cannot use military units to block civilian units. You can use civilian units, but it would seem excessive to waste a settler or worker to slow down (not even stop due to the "embark" function) another players settlers at a natural choke point.
As for a fix for the problem, you COULD mod it (I imagine) to allow YOUR unit to convert into a civilian unit when you enter an ally's tile by manipulating and copying the code from sea travel. This would allow for fewer problems in terms of manuverability in a war where you have multiple allies. The problem for that strategically would be that if he is attacked and falls, then both units would be lost (since your perhaps superior unit would still be a civilian).