Creating a named pipe on Windows
On Unix you can use mkfifo for this sort of thing, but as far as I know, there's no Windows command-line tool to create or manipulate named pipes. They're not accessible to command-line tools in the way that conventional and UNC paths are.
You can create a named pipe in Perl by using Win32::Pipe, if you know Perl well enough. And you could write a Perl client to pull data out of the pipe and send it to STDOUT, but this really can't be done elegantly in Windows.
I was just searching for the same thing!
This guy seems to have accomplished bcp to gzip w/ a background job:
http://jcarlossaez.spaces.live.com/blog/cns!B3378F057444B65C!108.entry
I doubt you can do that, or even get it to work. But wouldn't it just be simpler to do this in two steps?
bcp MyDatabase..MyTable OUT c:\temp\dataset.csv -c -t,
gzip c:\temp\dataset.csv