Faction tagging.
It works, but it's largely irrelevant for what you're trying to do. What you want is a branching quest, which is achieved through, and only through, QuestChoiceDef. Faction tagging be QuestConditionDef usage.
Currently, I believe you have an impossible goal. The condition system does not move a quest forward when you complete one of many conditions, you have to complete them all. The only thing you can do with faction tagging is either break a quest so that one faction or the other cannot complete it, or give alternative rewards in the end objective. You can use these rewards to break or continue other quests later, but this would only limit based on faction, not be player specific. It would not be a particularly obvious design either, so care in wording is required to help your users figure out how to use them.
If we get choices inside conditions, the quest you want to write is a breeze for the most part, assuming the other entries besides Kingdom and Empire work for the Faction tagging. Just having a quest branched out to multiple endings is a cinch. NextObjectiveID need not be the next in line.
To give you an example, the Ranger's Boots quest in the ACP mod is ~260 lines of code.
Short. 