Poder .... se puede hacer hasta con un StringList, sin base de datos y bastante fácil, es cuestión de pensarlo.
Cada String puede tener un objeto asociado, usándolo... a la cadena "autos" le puedo asociar un objeto que también es un TStringList, de tal forma que al elegir el auto en el combo:
Código Delphi
[-]
elegido := combo1.itemindex;
if itemindex <> -1 then
Combo2.Assign( TStringlist(combo1.Objects[combo1.itemindex]));
Listo, ya tenemos borrado el combo2 y añadido todas los tipos de autos.
Por supuesto habría que tenerlos guardados cada uno en un archivo, pero vamos es cosa de niños usando ComboX.SaveToFile('c:\combo2.dat');
Todo dependerá de las especificaciones de tu programa.
Si solo es para 2 o 3 combos, lo haría de forma manual y evito tener que sobrecargar el programa con controles de Acceso a BBDD y demás.
Si deseas sacar listados de los animales, frutas, hacer facturas o tickets de compra... pues igual una Base de datos es mejor idea.
Saludos