Yup, that's actually the same problem I'm facing right now. I've thought about megatexture/megameshes approach - although thats in the end quite similar to megatextures - storing everything in 1 big texture map.
So now the problem reduces to - how to use megatexture-like approach in this effectively. Because I don't know which textures I'll need (path tracing -> rays are in random directions), so I'll probably need all textures in scene. Second thing is which LOD of the textures I'll need (for megatextures we can look into scene, but path tracing complicates this) - basically I could use LODding mechanism based on distance from camera.
As for the meshes, I store triangle buffer separately and tree (either n-ary BVH or KD) also, in both - graphics card and processor + RAM. So modyfing them is quite simple (and I can easily stream from hard drive).