I would use a configuration file to hold default values for my controls. When the vi starts, prompt the user to select default values or to modify. You can use a two button dialog to do this. Wire the output to a case structure. If the user selects default, read the config file and use the values to set your controls values. If the user selects modify, call a subvi that gives the user an interface to modify the values. You can start with the old default values. This subvi would have a loop, waiting for the user to press either a cancel button or a change button. If the user makes changes and presses the change button, exit the loop and write these new values to the config file. If cancel is selected, exit the loop and do not write to the config file. Upon returning to the main, read the config file and set the control values accordingly. You can even go a step further and create a "factory default" file. This file would be read only. The user can be given a choice to select this file in case he made changes and saved them to the config file, and the new changes were all screwed up.
Config files are nothing more than a file containing keys which represents controls, and the data values for those controls. There are examples located at
\examples\file\config.llb.