I have three methods to solve the problem:
1) Use item codes. Create a format something like: [item type]_[creator]_[id]
so if I created a series of healing potions, the codes would look something like:
Consumable_Zodiac44_Healing1
Consumable_Zodiac44_Healing2
Consumable_Zodiac44_Healing3
Item type should be assigned by the editor, the creator's name and item ID should be entries in the form. The editor could check the item code against other items in the same file for duplicates, and require the ID to be changed if it matches an existing entry. This doesn't prevent collision from other item files, so you would still need collision detection and resolution in the code, but it helps a bit.
2) Change the manner in which items are collated. Each item gets its own file and they are referenced in game by file name. In this system, the game doesn't need collision detection and resolution, as it is all handled at the time of item creation. Players could overwrite an item's file, which would change the item in game, but there wouldn't be any collision in game. As I think about it some more, this system would need a file naming convention similar to the one posed above, to prevent overwriting an item with an incompatible item (ex: overwriting an armor with a necklace) which could present problems in game.
3) Save all items in the save file the same way girls are handled. Assign a random ID number to each item (or use the system above) to differentiate between items (and girls?) of the same name.
Personally, I favor the second option, implementing a similar scheme with girls to prevent accidental duplication in game. Break the composite .girlsx files into the individual girls and place each girl's file in her image folder. This would simplify a number of creation and editing tasks for items and girls, as well as making distribution and pruning somewhat easier.