tidy_trax: nicknames can contain characters that regex interprets as control characters, so you'd have to escape those first...
tsoglanos: that doesn't actually work, your script will always either return or halt after having tested the second line of notice.txt.
My solution would be,
on ^*:notice:*:*:{ if (!$read(notice.txt,w,$nick)) { haltdef } }