El metodo que indicas suena razonable;
1.- Guardar la configuracion en una base de datos.
2.- El archivo al que te refieres puede ser un ejecutable que acepte argumentos
Se veria algo asi ejecutable.exe argumento_1
Código:
pro.StartInfo.Arguments = args;
Donde argumento_1 es tu id del usuario para cargar los controles y valores que necesites.