Oh, so you don't need a macro, you need to instantiate custom file list on a file-system.
First thing to note is that :filextype won't get the whole list of files unless you select everything and use %f macro, so a custom :command may fit better. Although, Lua API can iterate over all files from a :filextype handler activated on a single file.
If your target application can accept list of files, you could do it this way. Otherwise, I think you're right in that this needs a bunch of symbolic links and maybe all intermediate directories to them, unless something like OverlayFS can be made to turn list of paths into a file-system. I think cp --symbolic-link --parents %f {tmpdir} may do it, Vifm doesn't really have means that would make the task easier.