I've been reading this thread, and after thinking a moment I think there is a way to do it very easily. You need to use Generic Index for it.
Basically you need to reference the same document each time with different indexes, and in that case, CMOD will store the first document, and the following indexes are only reference to the first one (with same filename, same offset and same length).
It is important that all indexes that are related to the same document is regrouped together, otherwise CMOD will load X times all documents, which defeats the purpose to have it stored only once and have all wanted indexes pointing to it.
Basically taking your example, here is an example of what I'm trying to say:
CODEPAGE:1208
COMMENT:DOC #1
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:10001
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:file-1.pdf
COMMENT:DOC #56
COMMENT: First Index
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:10056
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:file-56.pdf
COMMENT: Alias for Doc 10001
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:10001
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:
COMMENT:DOC #510
COMMENT: First Index
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:10510
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:file-510.pdf
COMMENT: Alias for Doc 45754
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:45754
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:
COMMENT: Alias for Doc 10001
GROUP_FIELD_NAME:INDEX1
GROUP_FIELD_VALUE:10001
...
GROUP_OFFSET:0
GROUP_LENGTH:0
GROUP_FILENAME:
In that small example the document 1, 56 and 510 are stored once, but they will have many indexes pointing to them.
Document 1, will have only 1 index
Document 56, will have 2 indexes
and document 510 will have three.
And if a user search INDEX 10001 it will find the three documents.
Is this method working for you?
If not, then maybe I haven't understood something!
Yours sincerely,
Alessandro