例えば先頭4byteにファイル数、
その後は16byteのファイル名+4byteのオフセットxN
とか適当にファイルのヘッダ形式を決めておく
例えばb.bmpを読みたい場合、
data.datを先頭から読み込んでファイル数を取得
ファイル数分ループしてファイル名とオフセットを取得
b.bmpを見つけたらオフセットも取得できている筈なんで
そこにfseek
あとは単体のb.bmpと同じ様に読み込む
※オフセットはdata.datの先頭からのオフセットでもいいし、
ヘッダ部を除いたところからの相対オフセットでもいい

..なんか分かり難いな

>メモリからロードできる関数
がない場合>>795で
Windowsならファイルマッピングとか使えるかも