You can save weapon owner when weapon is added into weaponbox (BOOL CWeaponBox:ackWeapon( CBasePlayerItem *pWeapon )) but you can only hook this function with rage or orpheu.
During this function, weapon's owner is changed from player to weaponbox, you could use some pev->euserX to store previous owner.
About weaponbox Touch, you can retrieve weapons indexes with pdata.
Needed pdatas here : http://forums.alliedmods.net/showthr...01#post1712101
When you have retrieved 'weapon', just check pev(weapon, pev_euser1) for example, don't forget to check if touching player is able to pickup that weapon first.