I rather doubt it's worth the effort. I've written Perl programs to parse files of 500,000+ lines and it runs in 20 seconds or so. Are you actually experiencing long run times?
If you can easily sort the file on the non-date fields, then identical items will be adjacent, so you won't have to use a large amount of memory for a hash cache. But I still question whether it's necessary