If you have 50 fields, then a field dropped, then 70 fields, then a field dropped, then 90 fields - you have three "lumps". Lump 1 on the old file starts at a position, lump 2 starts at a position and lump 3 starts at a position.
The lumps may be contiguous on the new file, but if you treat them as lumps of the same length, the processing will be considerably quicker.
As I said, it can be done in one program in Easytrieve Plus.
It can also be done in one sort step (JOINKEYS) but there is some added complexity in defining the data on the REFORMAT record.
Logically your Easytrieve Plus is like this:
Match on the keys
Test for lumps to see if two matching records contain differences
Only if they do, do the field-level test.
This, assuming that you basically expect the data to match, will save you hundreds of millions of comparisons - enough that you will notice.