Veo difícil que esto pueda hacerse en delphi, porque los nombres de las constantes son sólo para identificarlas en el código; el compilador sustituye su valor en cada expresión en la que aparece, de manera que el nombre se pierde en el ejecutable final.
No obstante hay alternativas. Por ejemplo, puedes valerte de un TStringList que 'englobe' las constantes:
Código Delphi
[-]
var
Constantes: TStringList;
...
Constantes.Values['cod0'] := 100;
Constantes.Values['cod1'] := 101;
Constantes.Values['cod2'] := 102;
Constantes.Values['cod3'] := 103;
...
if S = 'cod2' then
Y := Constantes.Values[S];
La variable Constantes debes construirla ates de usarla con
Código Delphi
[-]
Constantes := TStringList.Create;
y destruirla cuando ya no la uses:
Código Delphi
[-]
Constantes := TStringList.Free;
Claro que en realidad ya no estamos hablando de constantes, pero puede satisfacer la necesidad.
// Saludos