L'errore che ti ha restituito il ClientDataSet è dovuto probabilmente al fatto che non hai attribuito un tipo di dati alla definizione del campo. Ogni campo deve avere un tipo di dati associato: stringa, valore intero, a virgola mobile, data/ora, ecc.

Per il TabControl, forse non ti è chiaro cosa lo differenzia dal PageControl. Entrambi i controlli possono contenere altri controlli, ma il primo è composto da una area comune per tutte le pagine, mentre il secondo fornisce tante aree editabili quante sono le pagine (TabSheet) definite.
Nel tuo caso, è inutile ripetere il controllo DBGrid duplicandolo n volte nelle varie pagine per ciascuna lettera dell'alfabeto; ti basterebbe disporre sul form un TabControl, inserire al suo interno un unico DBGrid che visualizzi il tuo ClientDataSet. La proprietà Tabs ti permette di definire le pagine del controllo (che saranno le lettere dell'alfabeto). L'evento OnChange ti segnala quando l'utente sceglie una nuova pagina: a quel punto, in base alla lettera corrispondente alla pagina selezionata, imposti il filtro sul ClientDataSet in modo da visualizzare nella DBGrid solo quei nominativi che iniziano con quella lettera.

Provare...provare...provare...

Ciao!