I've found a number of pumpkin groups in forests, others (like yourself) have found them in grassland and snow. Unfortunately, the code for generating pumpkins looks like this:
if (rand.nextInt(32) == 0) {
...
(new WorldGenPumpkin()).generate(worldObj, rand, i14, i16, l18)
}
Which indicates a 1/32 chance of when generating a chunk . From there the code generates a 64 random positions within that chunk, and the positions that match a certain criteria (a block of air with grass below) makes a pumpkin. No mention of any particular biome at all.
Pumpkin generation per biome is random*. Sorry!
*as of 1.5_01