Ich würde dir die
TVirtualStringTree empfehlen, da ist das schon direkt möglich.
Damit das bei einer TListView geht, kannst du eine eigene Klasse davon ableiten und die Message CN_MEASUREITEM abfangen. Diese bekommt eine Message vom Typ TWMMeasureItem, in der du dann die gewünschte Höhe eintragen kannst.