1) make percussion that does it, and retrigger the percussion every x steps as necessary. For example if your chords are 3 notes and your tempo is 5 frames per row, then you'd need a 15-length instrument of those three notes and you'd repeat them every 3 rows so they line up. You have a limit of 15 percussion instruments so this is kind of limiting, chord-wise, especially if you have other percussive instruments.
2) you can do this with instruments if you set the sustain start to something like 1 and the release to 4. It will play the "sustain" part in a loop until the note is no longer held. This is very limiting as there are 7 instruments max.
3) just use patterns, but you can re-use old patterns over and over. Patterns do not need to line up between channel 1 and channel 2, so you can have one channel be looping a shorter arpeggio pattern and be doing whatever on the other one. I did this for the empty space in one of my .ttt files a while back- it basically plays a 4-note pattern, then plays the same empty 60 rows pattern multiple times to save space. I might retool a program I wrote awhile ago to optimize .ttt files for repetition this way. If I ever need to....
edit: I would not recommend 1 or 2 because each frequency jump is not the same between notes. You basically have to make a new instrument or percussion for each individual chord as a result. I'll attach an example of the 3rd method.