If you are interested in inter-process communication in general. It could be worthwhile to look at unix domain-sockets, since they allow bi-directional communication.
I think you should read Operating systems Design and Implementation book.they explain it well there.Yes, you can.But basically it all depends what do you want to do by piping.