Apologies, I did a poor job of explaining the task, but the attached picture should make it clearer.
I ended up working out a solution by rendering the year and associated text separately. I copied the code that was rendering the concatenated data (2 columns), and simply added spaces to the text portion to provide room for the years to render on top (so they didn't overlap). It's lazy and verbose but got me what I needed (as evidenced by the attached image of my near-final result).
The main complication I was having was the need to word-wrap in the same text box boundary (so the year was "embedded" in the text block), but still use different styling for only a part of each text item. If we use your example, let's say the first word of each row of text needs to be styled differently, but the data comes from an external file (I had 60 or so items to arrange - two columns, year & text), so explicitly listing them isn't realistic.
It was trivial to apply styling to the year or the text sets, but iteratively combining the geometry row-by-row into a list of geometries that could then be rotated proved impossible (for me). In effect, I was trying to combine my two styled lists, like so:
Array1 = [a1, a2, a3, ...]
Array2 = [b1, b2, b3, ...]
Result = [a1b1, a2b2, a3b3, ...]
Using a geometric combine (union) lumped everything together, but wouldn't render right (either <Path> or everything jumbled together as a bowl of spaghetti). A list combine just tacked one list onto the end of the other for double the number of items, each half of what I needed.
The problems I was facing make sense now, (because the text is rendered and done when it comes out of the textpath node - recombining it would never have worked), but at 11:50 at night, higher brain function isn't what it could be.
I don't work with NodeBox on a daily basis, only when I have clients that need some specialized viz, so I'm very possibly missing an easy answer here, so I'm hoping you've got an easy solution I can leverage the next time this comes up.
Thanks for the super quick response, it's greatly appreciated!!