You're looking for resource managament in a game engine . A google search will probably give you some generall ideas on what to do in case you want some in-depth theory on how to write efficient managers with cache etc.

For a way to pack files in delphi, check out this thread: http://terraqueous.f2o.org/dgdev/viewtopic.php?t=148&

It's not hard to pack all your files into one file, but it can be hard to do this efficient. I tried searching around a bit, but couldn't find anything special. I believe www.gamedev.net has a few articles on the subject, but I couldn't find them right now. Anyway, I suggest you search around.