Yes, I think there is a way.
First, each weapon would need a custom script for the pickup.
It seems most weapons, from MP9's AKM to the Fantasy Crossbow & Arrows, use the good old stock weapon.fpi for their AIMain.
If each weapon had its own script then it could read and write to variables that are assigned to the slots.
If the slot equaled zero then it would know to use that slot and then it would assign the slot variable the weapon number.
If no slot equaled zero then it would ignore the assignments. (in the case of picking of a second instance of the same weapon)
Of course, the slots would be checked sequentially.
A separate display script that runs independently could read the slot variable values and disply the corrensponding icon for all slots.
I think it is very doable, but it would take a considerable amount of scripting.
One display script, and one script for each weapon used in that game.
You'll also be taking up 9 of the available global variables for the slot values.