Definitely would be, but you can’t do that with environment variables unfortunately. Env Vars are simple strings, no other data type is supported as an environment variable as far as I know.
Of course you can serialize data into string, e.g. serialize these infos as JSON and store that in an env var, then read and deserialize it in another step. If you have your own steps this is definitely possible, but that makes handling of these variables quite a bit more complex, e.g. handling JSON in Bash is not trivial at all unfortunately.
Why we chose the pipe char is because pipe should not be in the path. Pipes in shells are used for connecting commands, and AFAIK it’s considered as a really bad practice to include it in a file’s name (due to the special meaning the char has in most shells).
I think the best solution might be to add a second output which would include the data in a JSON serialized form. That way simple steps which are only interested in the path list can be written in Bash, while the JSON output could include more info (e.g. mapping of paths) but would require a bit more complex logic to parse that output (json decoding).
WDYT @koral & @godreikrisztian?