Guardar los recursos dentro del ejecutable no es buena idea nunca. Hace años (veinte o treinta) esto era práctica común, pero principalmente por dos razones: Bien porque los recursos eran creados por el propio programa (por ejemplo, usando primitivas para crear gráficos, procesamiento matemático para crear los sonidos, etc) o bien porque la rutina de carga no resultaba rentable en términos de memoria o rendimiento (como el caso de los antiguos micros a base de cinta: MSX, ZX Spectrum, C-64, etc.). Yo no lo recomiendo hoy en día.
Respecto al empaquetamiento de datos, existen bibliotecas que permiten acceder diréctamente al contenido de archivos ZIP, tar, gzip, etc. De todas formas, si eres principiante te recomiendo que no los uses, sino que guardes los datos en un subdirectorio tal cual y accedas a ellos de forma individual.
Si lo preguntas para facilitar la distribución, echa un vistazo a Inno Setup. Permite generar un único archivo ejecutable que permite instalar el programa.
Si estás realmente interesado en la programación de videojuegos con Delphi, sea profesionalmente o como aficionado, te recomiendo que te pases por
Delphi Gamer y/o por
Pascal Game Development. Yo soy visitante asiduo de éste último sitio.