Eu postulei que isso poderia ser possível usando algum tipo de sistema de arquivos de sobreposição em cima de um existente (modificar um existente é uma receita para o desastre), então você provavelmente poderia escrever algo para Linux usando o FUSE (sistema de arquivos no espaço do usuário) )
Em uma cotovia eu pesquisei e descobri que alguém já implementou isso - existe um projeto chamado GIT concat-fusível - link - que parece fazer o que você está descrevendo.