Perhaps something along the lines of data in the "root" directory, with DLLs in a "lib" directory and various executables in a "bin" directory, along with a "doc" directory for locating the documentation, and a "src" directory for the project source codes?
Or have I missed your point completely?
I tend to put the source code files in the "root" directory of a project with auxiliary directories under that for various things like data, documentation, etc.
My finished projects are installed into the standard directories: executables in one of the $PATH "bin"s (usually /usr/local/bin), shared libs in one of the standard "lib" directories (mainly /usr/lib). The data gets put into a dedicated directory: somewhere in /home if it's data that is short-term or it gets put somewhere on the "archive" filesystem if it's stuff that's "write once and keep for ever".
I am not conversant with OSX but the DMG format sounds similar to what you are thinking of.
A honeypot server with navigable filesystem fits what you’re talking about perhaps, as does a game where logging in makes you create a user which is your character which is an RPG managed by bash scripts and the filesystem and various chroots are the “world” and in game you can level up and unlock passive auras which take the form of system daemons and gaining access to a new script is a spell...