Looks like you are out of luck with the current XProc standard. It states that parameters are name/value pairs where the data type of the values must be string of untypedAtomic. Don't ask me why..
http://www.w3.org/TR/xproc/#parameters
If you won't be composing the contents of your configuration dynamically, but are merely passing around contents of fixed files, you could pass through just a path to the appropriate config file, and use fn:doc() to read it from within the XSLT files.
I'd recommend against writing config files on the fly. Execution order within XProc may not be as sequentially as you might expect..
Alternative would be to pass through each config setting as a separate parameter, but then each setting would still have to comply to the flat parameter value type..
HTH!