I think this is what you you really want:
from collections import OrderedDict
mydict = OrderedDict()
for i in xrange(18, 0, -1):
mydict['d{0}'.format(i)] = 'item {0}'.format(i)
regroupped_dict = [OrderedDict(mydict.items()[i: i + 2])
for i in xrange(0, len(mydict), 3)]
print regroupped_dict
# Result: [OrderedDict([('d18', 'item 18'), ('d17', 'item 17')]), OrderedDict([('d15', 'item 15'), ('d14', 'item 14')]), OrderedDict([('d12', 'item 12'), ('d11', 'item 11')]), OrderedDict([('d9', 'item 9'), ('d8', 'item 8')]), OrderedDict([('d6', 'item 6'), ('d5', 'item 5')]), OrderedDict([('d3', 'item 3'), ('d2', 'item 2')])]