I have a blog with 130,000 posts and the file system only allows 32000 files. So to allow for more files I added this to
lib/W3/PgCache.php
line 954
$key = $this->_request_host . DIRECTORY_SEPARATOR .
substr($this->_request_uri,0,3) . DIRECTORY_SEPARATOR . $this->_request_uri;
// $key = $this->_request_host . $this->_request_uri;
What it does is makes the key in the format of
host / (first two letters of url ) / uri
Assuming first two letters of your urls are only letters and numbers there is 1296 two letter directories created. In each of those I have any where from 20 to 500 directories which is much more manageable for the filesystem.