You can not Initialize / override configurations like that.
You can initialize by
$this->config->load('upload');
-- Some code Here --
$this->config->load('upload_other');
-- Some code Here --
OR you can do it by array as follows.
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
// Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
$this->upload->initialize($config);
If you want to have anouther upload at same time you can change your config array.
$config2['upload_path'] = './uploads/small/';
$config2['allowed_types'] = 'gif|jpg|png';
$config2['max_size'] = '100';
$config2['max_width'] = '100';
$config2['max_height'] = '100';
$this->load->library('upload', $config2);
// Alternately you can set
$this->upload->initialize($config2);
UPDATE
you can specify your general data in config file. say
config['width'] = '100';
config['width2'] = '100';
Now use in your controller like
config['width'] = $this->config->item('width');
config2['width'] = $this->config->item('width2');
this way you can reuse same settings.