>>80
それはきつそうだなぁ。
>>81さんの言うとおり、普通にXMLシリアライズしたほうがいいとおもう。
吐き出したXMLファイルを圧縮するなら、LZMA SDKがお勧め。いわゆる7z形式。
http://sevenzip.sourceforge.jp/sdk.html

C#のライブラリでStreamに書き込めば、かなりサイズが小さくなるよ。
ライセンスもパブリックドメインだから、自由に使える。

もっと気軽に使いたいならSevenZipSharp、SevenZipLibなんてのもあるよ。