Sorry, my first post was not meant to be an actual solution so much as a rough outline; I don't know how much you know about scripting, so it might have been all you need. (Actually, it was a rather bad outline since it should have been scene_item, not window_item; I usually only post her when I'm at work, I was in a rush, sorry.)
Anyways,
This works;
Go to the script editor
Go to scene_item
Go into the update_item method and paste:
if @item.id == ID
for i in ARR
$game_party.gain_item(i[0], i[1])
end
$game_party.lose_item(ID, 1)
Audio.se_play("Audio/SE/" + se.name, se.volume, se.pitch)
@item_window.refresh
return
end
Beneath the block
unless @item.is_a?(RPG::Item)
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
Notes
ID is the ID of the item that does this.
Replace ARR with an array of pairs [x,y].
For each pair [x,y] in ARR you will get y items with id x.
Finally, the Audio part is self explanatory, if you don't want to use an extra audio, just erase it out.
If you want to use the plain old descion se, just replace it with
$game_system.se_play($data_system.decision_se).