Still needs to spawn a temporary process but it can be killed early:
true | sleep infinity &
STDINPID="$!"
exec {mypipe}<"/proc/$STDINPID/fd/0" # hijack FD
TMPPIPE="/proc/$$/fd/${mypipe}"
disown "$STDINPID" # suppress killed message on stderr
kill -9 "$STDINPID" # clean up process now already
echo hello > "$TMPPIPE"
echo write more > "$TMPPIPE"
cat "$TMPPIPE"
echo write again > "$TMPPIPE"
cat "$TMPPIPE"