Can you just use compound eyes and thief, and just avoid catching it? Its what I do with Heart Scales.
Compoundeyes increases the chances that Pikachu will be holding the Light Ball, but Pikachu is still somewhat rare. A better option is to use an Electrode with Static, which increases the chance of finding wild Electric types. I say Electrode because it also learns Thief, which Pikachu, Emolga and Ampharos (the other Static Pokémon in this game) do not. (Pokémon logic, the only one who can steal items is the one without arms.)