Das dürfte mit der normalen
VCL TListView nicht so einfach möglich sein. Ich empfehle die TVirtualStringTree:
https://github.com/JAM-Software/Virtual-TreeView
Da kannst du z.B. einen eigenen Editor erstellen, mit dem du die Erweiterung entfernst vor dem Editieren und wieder hinzufügst nach dem Editieren, nur entsprechend markierst, usw., hast aber auch Events wie OnEditing, OnEditCancelled, OnEdited.
Die Einarbeitung dauert zwar länger, aber es lohnt sich.