We don’t need to store file access list, if there was WRITE access to file which is stored in our cache, then we have to rescan the file.

Is this correct... You keep a list of recently scanned files and when ever there is a file system WRITE to a file in the list, that file is removed from the list so that it will be scanned again on the next READ or on the current WRITE if you have 'on create/write' checked. And as more files are scanned the oldest scanned are removed?
If file is opened for writing/or we get write request, file is removed from the cache; next file scan will be when file is closed (file will be clean, flag will be set, next file-open will not be checked by scan).
I imagine that is very efficient, but it relies heavily on the fact that Avast can detect all WRITEs to the file system. So you'd have to be hooked at a very low level.
Yes, we can detect all create=open/read/write/rename/copy/... operations, all is done by our kernel drivers.
One more question I assume that the sensitivity setting does NOT effect the hashing technique... ?
No, hashing technique is the same, there're no configurations (only memory usage, but it's default).
And also - that the hashing doesn't "timeout" - it simply doesn't remember after reboot.
Yes, there's a timeout ;-), I guess all entries which are 30mins old are removed. Sure, if you reboot your machine, all buffers are empty, because e.g. your HDD could be in different PC, not under av protection.