Renpy can tell you if you already have chosen an option at least once and that's about it. All the logic of the options to appear and conditioning is done by manual programing. It also doesn't provide any kind of tree-map option data. So unless you put some really advance ai-python program to do that in there its heavy dependant on the devs memory.I'm really surprised at this being difficult. Doesn't ren'py already have to track these exact variables to know when to expose a new option or change an existing one? I would have thought this would simply involve putting in a graphical indicator for the already present tree-map data. As I understand it (and I could be wrong) ren'py always has a graph tree to track the option space, where you are setting booleans based on what has and has not been done to control the options available to the player. It was based on this understanding I made the suggestion, believing it would not be hard.
Also on renpy games if you go too deep with python then you will start to have problems with old savegame files.
So yeah, pretty difficult.
Cheers!