The answer is quite straightforward in the documentation:
Of course, there will be a need to combine the values from command line and config file. For example, the optimization level specified on the command line should override the value from the config file. On the other hand, include paths should be combined.
... what happens if the same value is specified both on the command line and in config file? Usually, the value stored first is preferred. This is what happens for the "--optimization" option. For "composing" options, like "include-file", the values are merged.
http://www.boost.org/doc/libs/1_55_0/doc/html/program_options/tutorial.html#idp163316264
You can add options which repeat on the command line and in the config, and if it is a non-merging option, the preference will be given to the one first called with po::store()