結合順序コントロールするにはサブクエリにするしかないかも。

select 名前
,replace(join_str(好物),' ','@') as 好物
from (select * from 好物 order by 好物) as k
group by 名前;

既に全然スマートじゃないという罠。