Continuo a non capire perché usi un file .txt invece di un file .tex, ma sembrerebbe che tu abbia già risolto il tuo problema.
Quindi i problemi che restano sono quelli do organizzare un indice analitico suddiviso in periodi liturgici e fasi della messa.
Direi che il problema si possa risolvere con un indice analitico gerachico e senza numero di pagina; per ottenere questo secondo risultato basta definire un comando con un argomento, per esempio`\newcommand\noPageNumber[1]{}`Al momento opportuno esso riceve in pasto il numero della pagina, ma non ne fa niente. Il primo risultato si ottiene con la formulazione del comando indiec da mettere dopo il titolo di ogni canto nel modo seguente:`\index{Avvento!Offertorio!Ecco quel che abbiamo|noPageNumber}` In questo modo il canto intitolato Ecco quel che abbiamo va subordinato alla voce Offertorio, la quale a sua volta è subordinata a Avvento.
Una volta compilato con makeindex l’indice grezzo .idx per produrre l’indice composto .ind, quest’ultimo risulterà composto cosi (i puntini indicano degli spazi):
Avvento
…Offetorio
……Ecco quel che abbiamo
……Venite a me
…Comunione
……Eccetera
il tutto senza numeri di pagina, perché inghiottiti da \noPageNumber; nota che nella stringa di \index il backslash è sostituito da una barra verticale. I dule livelli precedenti sono separati da punti esclamativi. Ovviamente se lo stesso canto può apparire in periodi liturgici diversi, allora devi dargli altrettanti comandi \index, ognuno riferito al periodo liturgico appropriato.
Puoi documentarti meglio consultando il file di documentazione mediante il comando texdoc makeindex dato nel terminale o prompt dei comandi.
Aggiungo questa informazione: se usi il pacchetto imakeidx puoi comporre diversi indici “analitici” contemporaneamente; leggine la documentazione perché devi definire i vari indici che vuoi comporre e i vari comandi \index per inviare le informazioni specifiche a ciascun indice. Con una macro adeguata puoi risparmiarti molto lavoro senza dover ripetere le stesse cose in comandi simili, a scanso di errori e per sfruttare, appunto, il fatto che la piccola fatica per creare una macro, risparmia tanta fatica e tanti errori quando per ogni canto si dovessero ripetere cose simili per indici diversi.