I had a look at this about a year ago. KQueue/KEvent on Free/NetBSD
allowed you to watch a single file / folder, but this limited you to
1024 watched files per process (each file required an open file
descriptor).
Linux had inotify, which had the same limitation.
On OS X there was an undocumented system call 'searchfs,' which
allowed you to quickly search based on file system metadata, so you
could (for example) poll every n seconds for all files with access
times more recent than n seconds ago. This only really worked on HFS
+ (which stores metadata in B+ trees separate from the inodes, unlike
UFS-like filesystems, which store them on the inodes), but it did
more or less work.