a.bmpやb.bmpのオフセットをdata.datのヘッダに書いとけばいいんじゃね

あとはdata.dat内をシークして読み込めばdata.datをメモリ上に展開する必要ないし