if this was a batch process that gets run often, and needs a performance boost. what i would do is setup a script or two to grab & normalize & sort the ip address list and the ips from the large log file. then use join command.
also wondering how any code would compare to pre-loading the ips and log file into a DB and doing a SELECT * FROM log_file_table INNER JOIN ip_list_table ON log_file_table.ip = ip_list.ip;
of course there would be earlier overhead in normalizing the ips and loading the DB. But i think that just a DB would come out on top doing such a join, compared to any human written code to do same.
the hardest line to type correctly is: stty erase ^H