char **vector_cadenas
de esta forma, tienes un puntero a puntero a char, o puntero a vector de char.
//n=numero de palabras
vector_cadenas=new char*[n]
for(i=0;i<n;i++){
longitud_palabra=preguntar_por_longitud();
vector_cadenas[i]=new char[longitud_palabra]
leer_palabra(vector_cadenas[i])
}
// se supone que
//longitud_palabra
//varia cada iteración
De esa forma, declaras cada vector de char con diferente tamaño.
Para acceder a una palabra: vector_cadenas[palabra]
Para acceder a una letra: vector_cadenas[palabra][letra]