Using chocolate in Plants vs. Zombies
The Zen Garden - Automation page/section from Plants vs. Zombies Wikia answers your question:
[after feeding a piece of chocolate to the Snail] he will become extremely hyper and continue to collect coins at a high rate of speed (for a snail) for about an hour. However, he cannot be fed more than one piece of Chocolate at a time.
As weird as it is, you can also feed chocolate to your plants, causing them to drop coins more quickly.
[after plants start glowing in a gold aura, and without using chocolate on them] The drop rate starts out relatively high, and decreases as the day progresses.
[…]
As stated previously, plants drop more often right when they become happy; as a result, Chocolate is best given at that time, when they give the maximum increase.
You say you would like to leave the Zen Garden open while you sleep, however I don't know if that's a good idea:
it will glow with a gold aura (signifying that the plant is "happy") […] and then drop coins and occasionally diamonds for the rest of the day.
I don't know what happens to the Zen Garden right after the midnight. I know that closing the game before the midnight and opening it after the midnight will make the Zen Garden "reset" to all plants needing watering. I don't know if the same happens if the game is left open during the midnight.
Finally, the same page from that wiki says that you can move the mushroom and aquatic plants into the main garden section (if they are already happy/glowing), and they will still drop coins even in the "wrong" environment. Read that page for more details.
According to the wiki, the effects of the chocolate last for one hour. I am pretty sure that it does not stack, so feeding it chocolate at any time will just keep it fast for an hour after the feeding.