IDEA: The alliance request feature used in-game is updated to allow you to specify levels of commitment. At any point, a player can still break an alliance, but if he/she breaks the terms of the accepted level, this will count towards their public TURNCOAT statistic (the % of alliances that they've broken). The TURNCOAT stat will let other players know how trustworthy they are.
[NOTE: These levels are just suggestions. Feel free to suggest others or different approaches]
Open chat and a trustworthiness rank would be good because when you are playing with friends you have a good idea of these things, it would be good if there was some of that when playing online with strangers.
The number of turns seems fairly complicated. What about 3 generic levels of commitment?