Mathematica, 113 9090 83 bytes
Thanks to Martin Ender for two suggestions that reduced the length by over 20%25%!
Showing off the high-level commands in Mathematica.
Nest[Flatten@(Characters/@Nest[Flatten[Characters@{RomanNumeral@#,#2}&@@@(Reverse@#&@@@Tally&@@@Reverse@@@Tally/@Split@#))&@Split@#]&,{"I"},#]& A pure function, taking an argument N and outputting the Nth element of this (0-indexed) sequence, as a list of characters. Spread out a bit:
Nest[ Flatten@Flatten[ (Characters/ @ {RomanNumeral@#,#2}& @@@ (Reverse@# &Reverse @@@ Tally /@ Split@#) Split@ # ) &]& , {"I"}, #] &#]& The outer Nest iterates the middle four-line function, starting on {"I"}, N times. Line 4 splits the character list of the input Roman numeral into runs of like characters, counts each run with Tally, and puts the counts before the characters they're counting. Line 3 renders the counts as Roman numerals, then splits those Roman numerals up into lists of characters. The Flatten command reduces the whole list-of-lists to a one-dimensional list.
Here's the initial version:
Nest[ "" <> Flatten[{RomanNumeral@#[[1]], #[[2]]} & /@ (Reverse@#[[1]] & /@ Tally /@ Split@Characters@#)] &, "I", #] &