I feel like the only smart way to implement this is to store page content as a selection of diffs rather than as full compiled text.
Currently, the full text is compressed in the database, so we cannot do FULLTEXT searches on the content in prior revisions. Also, it might be difficult to find the earliest revision based on an arbitrary text search. If the full text were uncompressed in the database and also available as a FULLTEXT index, then we would have a problem with database growth for what could be argued to be a minor benefit (faster location of the earliest revision for arbitrary text).
I think a better implementation is to store the articles as a collection of lines, as referenced in the comparison view. This would have the benefit of also improving performance of that view. Likewise, if unchanged lines are reused across revisions, then the collection method would have the benefit of reducing space used to store prior revisions, and would not need to be compressed.
We could use a simple link in the comparison view to compare specific lines with their previous versions (if they were not changed in the viewed comparison).
Since this is potentially a major change to storage, this should be folded into the storage changes regarding this issue for section storage:
https://www.vaultwiki.org/issues/3259/
Thus, pages would be broken into a collection of sections, and each section would be broken into a collection of lines.