Isso é definitivamente possível no nível VFS, por exemplo usando FUSE .
Em particular, concat-fuse , parece muito com o que você precisa:
concat-fuse is a FUSE based virtual filesystem for Linux that allows handling a collection of files as if they were a single one. It is essentially doing:
cat *.txt > large_file
But instead of creating large_file, it creates a virtual file and accesses the original *.txt files instead.