Here is a solution that uses scoreboard tags. It will tag any item matching the exact criteria which could include custom names, lore, enchantments, any NBT information. This tag can then be used to target only those items to be killed. In my example, a snowball named Test will be the only item that gets killed. You can throw out unnamed snowballs and they will be safe.
You need two command blocks in a chain.
The first command block is RepeatUnconditionalAlways Active and it's command is:
scoreboard players tag @e[type=Item] add KillItem {Item:{id:"minecraft:snowball",tag:{display:{Name:Test}}}}
The second command block is ChainUnconditionalAlways Active and it's command is:
kill @e[tag=KillItem]