The simplest method you can use to assign your $a2 story variable a random value based on the current value of your $a1 story variable is to is use an (if:) macro and (else-if:) macro structure like the following...
(set: $a1 to (either: "option 1", "option 2", "option 3"))
(if: $a1 is "option 1")[
(set: $a2 to (either: "option 1.1", "option 2.2", "option 3.3"))
]
(else-if: $a1 is "option 2")[
(set: $a2 to (either: "option 4.4", "option 5.5", "option 1.1"))
]
(else-if: $a1 is "option 3")[
(set: $a2 to (either: "option 6.6", "option 2.2", "option 4.4"))
]
A1: $a1
A2: $a2
However if you really want to use a more resource & memory intensive meta-data driven method that involves a Data-map (the (dm:) macro) and some Arrays (the (a:) macro) you could do something like the following..
(set: $a1 to (either: "option 1", "option 2", "option 3"))
(set: _options to (dm:
"option 1", (a: "option 1.1", "option 2.2", "option 3.3"),
"option 2", (a: "option 4.4", "option 5.5", "option 1.1"),
"option 3", (a: "option 6.6", "option 2.2", "option 4.4")
))
(set: $a2 to (either: ...(_options's ($a1))))
}