En lugar de usar alias, si las tablas están en el mismo directorio del exe (o en algún subdirectorio), puedes hacer algo así
Código:
if Database1.Connected then Database1.Connected := false;
Database1.Params.Clear;
Database1.Params.Add('DEFAULT DRIVER=PARADOX');
Database1.Params.Add('ENABLE BCD=FALSE');
Database1.Params.Add('PATH=' + ExtractFilePath(Application.ExeName));
Database1.Connected := true;
donde en PATH pondrás la carpeta donde estén las tablas. Si para todas tus aplicaciones es la misma estructura de carpetas, no tendrás problemas.
Por otro lado, esta manera de trabajar no es que sea muy.... ¿normal?
Algo más lógico podría ser tener una carpeta por cada año con las tablas y un sólo ejecutable. Al arrancar el programa, preguntar año de trabajo y que se conectara a la carpeta del año seleccionado. Con lo que te he dicho arriba, no te sería complicado