/entitydata @e[type=Item] {Age:-32768,Invulnerable:1,PersistenceRequired:1} in a repeating command block that is powered causes /give to give you the item while causing it to spawn on the ground, but un-pickupable.
Linked issues
Comments 3
Here's a workaround. Add another repeating command block with this command:
/scoreboard players tag @e[type=Item] add unobtainable {Age:10s}, then change the other repeating command block's command to
/entitydata @e[type=Item,tag=unobtainable] {Age:-32768,Invulnerable:1,PersistenceRequired:1}. This will allow players to pick up items received with the /give command, but any dropped items will be unable to be picked up.
Issues regarding changing nbt tags during the lifetime of a mob will not be fixed.