I think I have an effective and simple solution to this.
I can use a label were the Learner can manually mark the activity as completed.
And then all subsequent activities are visible depending on completion of the label.
The user is then able to turn this on and off as required, and I can have two labels, one for Option A and the other for Option B. Content between the options is not restricted, it is mostly just to help the Learner get to the key points quicker.
Cheers, Simon