Total deja vu on this one! Created a workflow about a year ago to do this very sort of thing, for a really problematic text file that has a different parsing schema for every record/record type... this challenge was certainly a fun reminder how very much I have grown to love a good ol' RegEx_Replace formula!!
Nice and interesting challenge.
One thing I have learned on my Alteryx Journey, is - do not repeat your workflow, instead build a macro - so I did.
The tricky part was to keep the output of the columns like the order order of the dictionary input, but I seem to manage that.
Just can't wait to see if there is a more clever solution out there.
I had a bit of a challenge with the order of the dictionary after the data has been cross tab'ed, since you can't control the oder of the output, it seems to sort it dictionary order, but it you cross tab on the dictionary id instead, then it is solevable.