Respondo pela mesma ordem:
1. A escolha entre os auxiliares ter/haver nos tempos compostos prende-se sobretudo com o tipo de registo utilizado. Nos registos menos formais (familiar, corrente) emprega-se o auxiliar ter («tinha sonhado»); nos registos mais formais (cuidado, literário) pode optar-se pelo verbo haver («havia sonhado»), que no entanto parece estar a cair em desuso – como os próprios registos a que corresponde, infelizmente!
2. «Ter sonhado» é forma do infinitivo composto. Se é impessoal ou pessoal, depende do contexto, pois pode não estar associado a uma pessoa (impessoal), por exemplo na frase «ter sonhado é melhor do que não sonhar nunca»; ou corresponder à 1.ª ou 3.ª pessoa do singular (pessoal), por exemplo na frase «o facto de eu ter sonhado não significa que me lembre do sonho». Não se trata de nova terminologia, tanto quanto sei.
3. «Havia sonhado» é o pretérito mais-que-perfeito composto do modo indicativo, como refere. Corresponde à forma simples sonhara.
4. «Estava sonhando» – neste caso não temos um tempo composto, mas um complexo verbal de valor aspetual1.
5. «Ter estado» – aqui aplica-se a explicação dada no ponto 2, a propósito de «ter sonhado».
1 A gramática tradicional, na categoria do aspeto, chama a este tipo de construção verbal de «perífrase durativa», ou seja, a «perífrase de estar + gerúndio (ou infinitivo precedido da preposição a), que designa o "aspeto do momento rigoroso" (Said Ali), estendendo a todos os modos e tempos do sistema verbal e pode ser substituída por outras perífrases, formadas com os auxiliares de movimento – andar, ir, vir, viver, etc. – ou de implicação – continuar, ficar, etc.): Estou lendo = estou a ler; Ando lendo = ando a ler; Continuo lendo = continuo a ler» (Cunha e Cintra, Nova Gramátiica do Português Contemporâneo, 2002, p. 381).