Chat Mapper is a tool for writing branching dialogue. It is free for personal use and indie or commercial licenses are affordable. However, free version does not allow exporting dialogue to xml and use it within a game.
The interface looks nice and how the branching is visualized is great.
The Chat Mapper documentation says that scripting (LUA) can be used to control dialogue flow. This, I guess, means that to use exported xml, the game engine needs to support LUA, at least in the extend used to build logic to the dialogue flow.