Generation V
Pickpocket
Steals an item when hit by another Pokémon.
Detailed Effect
Whenever a move makes contact with this Pokémon, if it does not have a held item, it steals the attacker's held item. This Pokémon cannot steal upon being knocked out. It can steal if the attacker has a Substitute, but cannot steal when its own Substitute is hit. If a move hits multiple times, only the last hit triggers this ability. If this Pokémon is wild, it cannot steal from a trained Pokémon.
Pokémon With Pickpocket
16 canonical Pokémon forms can have this Ability.

Shroodle
Sneasel
Seedot
Nuzleaf
Shiftry
Weavile
Binacle 
Barbaracle
Impidimp
Morgrem
Grimmsnarl
Tinkatink
Tinkatuff
Tinkaton
Grimmsnarl Gmax
Hisuian Sneasel 