The PvZ wiki has a bunch of useful info on Chocolate. Here's how you get more chocolate in most (all?) versions of the game:
Randomly from Killing Zombies.
Occasionally eating a Brain in I, Zombie.
A streak of 3 in I, Zombie Endless.
A streak of 10 in Vasebreaker Endless.
Sometimes after a Grave Buster eats a Grave during a Night level.
(from the wiki)
The puzzle game mode methods seem to be a much more reliable method of earning chocolate (and rare plants) than just killing zombies in the story mode.
Note that you can only hold 10 chocolates at once, so once you have 10 in stock keep using them. For those who don't know, Chocolate won't spawn until you have Stinky the Snail.