pickle - это двоичный формат, использующий переводы кодеков перед тем, как запись сломает его.Попробуйте просто записать в файл и загрузить его обратно:
>>> mydict={'öö':1,'ää':2}
>>> mydict
{'\xc3\xb6\xc3\xb6': 1, '\xc3\xa4\xc3\xa4': 2}
>>> pickle.dump(mydict, open('/tmp/test.pkl', 'wb'))
>>> pickle.load(open('/tmp/test.pkl', 'rb'))
{'\xc3\xb6\xc3\xb6': 1, '\xc3\xa4\xc3\xa4': 2}
Но, скорее всего, вы хотите использовать Unicode в первую очередь:
>>> mydict={u'öö':1,u'ää':2}