Ich denke, da müsste man im Prinzip programmieren.
Was mir sonst dazu einfällt, ist höchstens noch diese Anregung:
Du könntest das Dokument (oder besser erst einmal eine Kopie) entpacken und dann die Datei content.xml in eine Arbeitsdatei kopieren, z.B. content.txt.
Diese öffnest Du mit einem Editor (Notepad oder sowas, keine Textverarbeitung). Dann lässt Du mal nach dem ersten Eintrag suchen, der so anfängt:
<text:reference-mark-start text:
Alles, was davor steht, löschst Du.
Dann gehst Du zum Ende des Eintrags, der ganze Eintrag sieht in etwa so aus:
<text:reference-mark-start text:name=Rosenduft/>Rosenduft<text:reference-mark-end text:name=Rosenduft/>
Ab da suchst Du nach dem nächsten Eintrag und löscht dann alles, was zwischen dem ersten und dem zweiten Eintrag steht. Und so weiter, bis alles ausser diesen Einträgen weg ist.
Jetzt musst Du gesamthaft ersetzen lassen:
das hier:
<text:reference-mark-start text:name
durch das hier:
<text:reference-ref text:reference-format=text text:ref-name
Denn was bisher im Dokument steht, sind ja die Ziele und was Du jetzt brauchst, sind Verweise darauf.
die Tag-Enden sind nicht so einfach, da muss man das hier:
<text:reference-mark-end text:name=Rosenduft/>
ersetzen durch das hier:
</text:reference-ref>
Das geht nicht automatisch, weil ja der Referenztext selbst im ersten Fall Teil des Tags ist. Aber vielleicht könnte man das schon beim Löschen des überflüssigen Textes (siehe oben) gleich miterledigen.
Jedenfalls bekämst Du auf die Art mal alle Referenzen zusammen. Vermutlich wärs besser, wenn Du noch Absatzenden jeweils zwischen den Einträgen hättest, Du müsstest mal eine kleine content.xml anschauen, wie das aussehen müsste.
Zuletzt diese bearbeitete Textdatei wieder am Schluss in die content.xml einfügen und das ganze wieder einpacken.
So stell ich mir das zumindest theoretisch vor. Wenn man das writer-Dokument dann öffnet, sollten sich die Einträge einfach per Extras/Sortieren in eine alfabetische Reihenfolge bringen lassen.