Configuration form settings
This is how I achieved what I wanted, rather than use key value pairs I just used an empty textfield and used one line for each option and then when retrieving the textfield for the form I used the following.

$raw_marketing_options = explode(PHP_EOL, variable_get('marketing_sources_sources'));


I then just used the variable directly in the form.

$form['Marketing_source__c'] = array(
  '#type' =&gt; 'select',
  '#title' =&gt; 'Marketing source',
  '#options' =&gt; $raw_marketing_options,
);


There may be a safer way to do it as I am not sure how secure variable_set() is when storing plain text but only the administrator will see the textarea anyway.

Cheers