Personally I'd code something up using ports of sort and diff (or sdiff) from *nix - there are freely available ports of the textutils package to do this kind of thing.

I also posted a KiXtart compare script which could be leveraged to do this task a short while ago. It only reads each file once so doesn't suffer from the exponential read problem. It also does not keep either of the files in memory, so file size should not be a big issue.

Have a search of the board, and if you cannot locate it post again and I'll see if I can dig it out.

The only pre-requisite is that the files must be sorted first, which is not normally a problem.