I'm using Slax, but sometimes I need Windows, so I also use (or create) portable apps .
Slax uses modules, which are simply compressed files with LZMA algorithm. The modules are used without extraction, directly reading is supported.
I don't know how to read directly but if someone interests, I guess it won't be such a hard job...
PortableApps' approach is nearly the same as Slax have. The readonly files are under App/ directory and whole changes go to Data/ directory. If someone compile ExamplePortable.exe with a capability of reading archives which are compressed with lzma algorithm; the applications would be half to one fifth of their current sizes.
For example I downloaded both Windows and Linux binaries of SDCC compiler, which are nearly same sizes about 40 MiB, but I could use it directly from its compressed form, which is about 7 MiB on Slax...
Please somebody use that technology!