I feel your pain, brother!
The way I would have gone about it is this...
Use ELEMENT ID for the KEYNOTE NUMBER (with the ability to override)
Place an AUTO LABEL that reads the keynote number
In the script of the note, have an external file that lists all the notes and numbers and have it perform a simple lookup to extract the note..
(Bonus, you could have a 2nd set of notes for the same number so one could be long and the other short and you could read either one by a switch)
So what happens is the NOTE LABEL itself gets injected with the actual notes.
The bitch is that ArchiCAD (after 33 years) CANNOT SCHEDULE LABELS!!!!
In essence, you could do the same thing by making the LABEL an OBJECT and read those... It just can't ASSOCIATE itself to the thing your pointing at.
I had just posted the sentiment elsewhere on this forum... (and I also posted it 3 years ago and 5 years ago...).
AC25 :|: AC26 :|: Enscape3.4:|:TwinMotion
DellXPS 4.7ghz i7:|: 8gb GPU 1070ti