Applying the corrected script (replaced all field references with $3) to your most recent input samples yields exactly your desired output files. The former samples did NOT have any entry in field 3 in common, so "NA" would be correct.
eshaqur@IN00106004 ~/CNG_MSISDN_AUDIT
$ head -n 10 FINAL1
751234592,820011234501132,7512345921 NA
701234559,820011234501133,7012345592 NA
701234578,820011234501134,7012345783 NA
701234594,820012345481410,7123451941 NA
701234514,820012345481411,7071234542 NA
701234574,820012345481412,7012345743 NA
751234593,820012345771965,7512345931 758123453,820017123451965,7123459931
712345693,820012341234509,7123456932 755123453,821234501234509,7512345932
703123454,820012345802232,7035123453 703123454,820017312345232,7012345543
755123456,8200123454461146,71234520861 NA
whereas "712345692,820017123456132,7123456921" exists in both file8 and file9. So result should not be NA.
in file8 its in line 1792131 and in file9 its at 1st line.
what could be the reason of this NA now since data is at coloumn 3 but at row 1792131.
anything can improve in code that it include lines upto 3000000 search for vlookup of column 3.
---------- Post updated at 10:33 PM ---------- Previous update was at 04:28 PM ----------
Finally it's solved..Thanks again for support. Actually it's resolved by copy content of input files in text format manually using ultra edit. And then apply your awk command.