I had a play, and as best as I can tell eac3to doesn't accept stdin, so there's no normal way to avoid a temporary wave file. This eac3to command line works for me.... with a temporary wave input file.
/d /c c:\progra~1\foobar2000\encoders\eac3to\eac3to.exe %s stdout.wav -simple | c:\progra~1\foobar2000\encoders\QAAC\qaac.exe -s --ignorelength --no-optimize --no-delay -V 91 -o %d -
eac3to v3.34
command line: c:\progra~1\foobar2000\encoders\eac3to\eac3to.exe "D:\temp-2FBEEEA939B108B16CB25CB2EC5D9428.wav" stdout.wav -simple
------------------------------------------------------------------------------
WAV, 2.0 channels, 0:03:54, 32 bits <float>, 2822kbps, 44.1kHz
Reading WAV...
Reducing depth from 64 to 24 bits...
Writing WAV...
Creating file "stdout.wav"...
Original audio track: max 32 bits, average 28 bits, most common 27 bits.
The processed audio track has a constant bit depth of 24 bits.
eac3to processing took 7 seconds.
Done.
The closest I got to not using a temporary input file was to specify the file to be decoded in the command line instead of %s or stdin, but that involves editing the command line each time, and fb2k always reports the encoding failed at the end of the conversion (probably because eac3to never accepted fb2k's output), however it does work. It's probably easier to not use fb2k for that though.
To pipe the audio stream (stream #2) in an MKV to QAAC:
/d /c c:\progra~1\foobar2000\encoders\eac3to\eac3to.exe "D:\test.mkv" 2: stdout.wav -simple | c:\progra~1\foobar2000\encoders\QAAC\qaac.exe -s --ignorelength --no-optimize --no-delay -V 91 -o %d -
eac3to v3.34
command line: c:\progra~1\foobar2000\encoders\eac3to\eac3to.exe "D:\test.mkv" 2: stdout.wav -simple
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 1 subtitle track, 0:21:52, 24p /1.001
1: h264/AVC, English, 720p24 /1.001 (16:9)
2: AC3, English, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB
3: Subtitle (SRT), English
[a02] Extracting audio track number 2...
[a02] Removing AC3 dialog normalization...
[a02] Decoding with libav/ffmpeg...
[a02] Reducing depth from 64 to 24 bits...
[a02] Writing WAV...
[a02] Creating file "stdout.wav"...
Video track 1 contains 31459 frames.
eac3to processing took 1 minute, 37 seconds.
Done.