If I understand you right you want to compile a dictionary based on some kind of two-level sorting procedure: Firstly, group the words according to a set of predefined suffixes (such as "antic" in romantic or semantic) and sort the groups; secondly, sort the words of each group.
You can do this using the tools of the xstring
package:
\documentclass{article}
\usepackage{xstring}
\usepackage{glossaries}
Define an appropriate wrapper around the \newglossaryentry
command provided by the glossaries
package:
\newcommand*{\mynewglossaryentry}[2]{%
\bgroup%
\StrBefore{#1}{-}[\root]%
\StrBehind{#1}{-}[\suffix]%
\StrExpand{{\root\suffix}{name=\root\suffix, description={#2}, sort=\suffix\root}}{\keyvallist}%
\expandafter\newglossaryentry\keyvallist%
\egroup%
}
Now, define dictionary entries as follows:
\mynewglossaryentry{sem-antic}{description of semantic}
\mynewglossaryentry{rom-antic}{description of romantic}
\mynewglossaryentry{immin-ence}{description of imminence}
\mynewglossaryentry{depend-ence}{description of dependence}
\mynewglossaryentry{immin-ent}{description of imminent}
\mynewglossaryentry{depend-ent}{description of dependent}
\makeglossaries
The hyphen in the first argument of \mynewglossaryentry
is solely used to indicate the suffixes controlling first-level sorting. It will not show up in the dictionary. Moreover, it is not part of the label of a dictionary entry—the label is the word itself:
\begin{document}
\noindent
\gls{semantic}, \gls{romantic}, \gls{imminence}, \gls{dependence}, \gls{imminent}, \gls{dependent}
\printglossary[style=listgroup]
\end{document}
The resulting output is:

.glo
file. To convert\glossaryentry{abc?blah blah}
to\glossaryentry{cba?blah blah}
. It won't be very difficult to implement with awk, perl, etc.