On @*:TEXT:!find *:#: {
...
Beyond that, there are several problems with this script.
I don't really understand what the hash table is for.. you never made a reference to it elsewhere to either create it or otherwise...
Don't xdcc lists usually get returned via /notice and not ctcp?
if ($2 isin $2-) doesn't make sense.. you should set a variable for the search parameter in the On TEXT event (e.g.: set %search $2) and then use if (%search isin $2-) ..
$chan is not going to work on on ctcpreply since there are no channels associated with a private ctcp. You'd have to save the channel name in another variable.
Dana