Jeśli dobrze rozumiem, chcesz najpierw uporządkować rodziny według nazwiska posiadacza, a następnie według nazwisk osób pozostających na utrzymaniu. Robi to następujące.
with family_order as (
select idfamily, rownum r from (
select idfamily from costumer where relation = 'H' order by name
)
)
select c.* from costumer c
inner join family_order fo on c.idfamily = fo.idfamily
order by fo.r, relation desc, name