Para el tema del combo, tienes que recorrer toda tu tabla e ir añadiendo en el combo el contenido del campo nombre.
Código:
tabla.first;
combo.Items.Clear;
while not tabla.eof do
begin
combo.Items.Add(tabla1.FieldByName('nombre').AsString;
tabla.Next;
end;
Aunque personalmente a mi esta solucion no me gusta. Yo prefiero poner un Edit (o mejor un ComboEdit, que es un Edit con un boton de las Rx) y mostrar una pantalla de consultas en la que se muestra el contenido de, en tu caso, la tabla que contiene nombre, apellido y dni. Esto lo hago con un componente que hice y que puedes encontrar en mi web (TSearchDialog)
Para el segundo tema, tienes que controlar el OnChage, ya sea del Combobox o del ComboEdit, verificar que exista el cliente (siempre es recomendable) y lanzar una Query sobre la segunda tabla que se mostraria en un DBGrid
Bueno, espero te sirva