Yo hice algo parecido en una aplicación q tenia un datagridview dentro de un splitContainer dentro de un tabPage (dentro de un tabControl obvio), y cuando uno selecciona una celda genera un nuevo tabpage con info. Mi principal problema fue como interactuar con los componentes creados en tiempo de ejecucion, lo solucione usando el index de componentes q tiene el tabpage del index del tabcontrol, cada parte casteada a lo q es, no se me entendio un carajo, ok, va un ejemplo con el casteo:
string name = ((DataGridView)((SplitContainer)tcTablas.SelectedTab.Controls[0]).Panel2.Controls[0])[0, e.RowIndex].Value.ToString();
bueno masomenos, toy dormido no tengo mucha nocion si soy claro o no. Tampoco estoy seguro si esto era lo q necesitabas jejeje
=/
Saludos