This is more of a question than a suggestion. Rather than read partial strings, would it be faster or slower to use _ArraySearch() after sorting both arrays first? This way wouldn't identify partial matches Something like: (untested)
_ArraySort($Array1,0,0,0,0)
_ArraySort($Array2,0,0,0,0)
For $i = 1 To UBound($aArray1) - 1
$match = _ArraySearch($Array2, $Array1[$i])
If @error Then ContinueLoop
FileWriteLine($hDiff, "File1: Line" & $i & ":" & $aArray1[$i] & " File2: Line " & $match)
Next
It could be that this is a horrendous way to do it, as I say I really don't know, but I'd be interested to hear.