Disassembling is an iterative process... I'd recommend the following:
Store the target specific labels sets in a way (e.g. an indexed array) that permits the user to choose the target.
By all means set A8 as the default but probably 'none' would be fine as a target too and maybe use the exomizer '-t' values for different targets, e.g. A8 = 168
Certain H/W registers on the A8 are dual purpose and have different labels so maybe facilitate that as you know if the instruction is a read or write.
Provide the user the ability to import their own labels. These override any target specific labels.
However this is more complex that initially looks as you need to support more than just a single byte type.
If you look at existing disassemblers then these will allow memory bytes, words (hi/lo, lo/hi), byte arrays, word arrays, arrays of lo-bytes & high-bytes etc.
So effectively the user should be able to take the output from the first disassembly and review/revise the labels in order to then re-run the disassembler feeding in the new information to get new output to review (rinse and repeat).