I can't answer the possibility of sorting of one2many fields.
However, for the other question, i.e where one2many fields are stored, the answer is "in the reverse many2one field". When you define a one2many field you'll need specify a many2one field in the definition. For res.partner's child_ids case, it is defined in doo/openerp/addons/base/res/res_partner.py. The child_ids definition is:
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts', domain=[('active','=',True)]),
So, the information is stored in the 'parent_id' field of res.partner model:
'parent_id': fields.many2one('res.partner', 'Related Company', select=True),
In order to search who are the 'child_ids' of Partner A, you'll need to search for all partners whose parent_id is Partner A.