While I cannot recommend a specific software, I will try to explain why you are unlikely to find one, and propose an alternative.
Why per-file auditing is impractical in a modern VCS
An audit log for individual files is unlikely to be practical in a VCS, because with most VCS, users will typically download a complete repository (i.e. all files) for local use. This is because most VCS are designed for software development, where typically all (or most) files in a repository are required to build/run the software.
In particular, in distributed VCS (DVCS, such as Mercurial, or Git), not only will all files be downloaded, but also the complete history (that's the "distributed" part).
So in other words:
Per-file audit logs are impractical, because typical workflows (downloading/cloning) involve reading every single file.
Alternative - separate repositories
There is however an obvious alternative - using multiple repositories. In modern VCS, particularly in DVCS, access control usually happens per repository (or occasionally per branch). So any "restricted" or "private" files should be put into separate repositories.
That may sound complicated, but DVCS generally encourage and are designed for small, focused repositories. So just group your files by the level of privacy or auditing required, put them into separate repos and assign rights accordingly.
Or maybe a DMS?
Finally, if you are using the VCS as a sort of "document management system", i.e. for many files that are only loosely related (instead of files forming a single project), you may be better off actually using a truedocument management system, such as Alfresco.