It's not clear what you mean by "let's say I ran the timesearch script with the grep script inside". But you have two conditions here: the regex match and the time range. You can just combine them:
if (($2 ge $min) && ($2 le $max) && /$key/) {
push(@{$mylist{$2}}, $_);
}