Hola Mario.
Creo que si las variables estuvieran prefijadas podrías pensar en el uso de variables globales. Pero si el requisito es que permita incorporar nuevas,
optaría por almacenarlas en una base de datos y como decis, una vez encontrado el nombre, operar con su valor.
Si además debe permitir al usuario definir fórmulas matemáticas como contenido de las variables, creo que no tenés mas remedio que tratar con un analizador de expresiones. En cambio si podés predefinir la totalidad de funciones a utilizar a la fecha y evitar que el usuario las ingrese te ahorrarías
ese trabajo.
Cualquier función que use datos de un empleado (antiguedad, hijos, etc) para realizar cálculos, lógicamente va a requerirlos. Por lo que pasarle el ID
en un parámetro para que los obtenga, es una opción razonable.
Otra cosa importante a tomar en cuenta es el monto que pensas obtener del programa.
Hacer un programa semi-rígido, que permita ingresar variables y no funciones, es relativamente simple. Y seguramente en un futuro, tengas más trabajo
que cobrar ante cualquier cambio impositivo.
Del otro modo, a la hora de presupuestar
evaluá bién las dificultades adicionales. Sin olvidar que pueden (y lo harán

) prescindir de tu grata presencia
por mucho tiempo, y claro está, que eso tiene un plus adicional...
Un saludo.