$read returns a single line, not multiple lines.
What is preventing you from looping through the file, or using /filter with g flag like I already suggested?
You're asking for stuff that doesn't exist, while there are enough tools to do what you want already.
alias showfilter echo -a > $1
//filter -fkg <file> showfilter <regex>
You don't need a regex if all you want to do is show the contents of a file to your active window, you can simply use loadbuf:
alias showfile loadbuf $iif($active != status window,-pi $ifmatch,-spi) $$1-