On the heavy side, Fuse::Simple lets you map a file system to Perl hashes.
in reply to could be directory "virtualized" from perl, like PerlIO but for directories?
FUSE is implemented at the OS level rather than being Perl specific. it doesn't require root access, but does need a server process (or at least a thread).
The files are really mounted and are visible to Perl and other processes. It's a deeper abstraction which may or may not be what you want.
As a final catch, the underlaying Fuse module claims to only work well under Linux or BSD. FUSE however is widely available on other platforms, including Windows.
I just thought it might be of interest. See also the wikipedia entry Filesystem_in_Userspace.