In Pokemon Heart Gold, a Budew can be found in either Ilex Forest or Viridian Forest.
However it can't be found there all the time, the circumstances have to be very specific. The Sinnoh sound must be playing on the radio in order for the pokemon to appear and it must also be a Thursday.
It can also be found in Rocky Beach and Forest, which are Safari zones in the game. In the Rocky Beach you have to place 17 forest objects and in the Forest you have to place 24 plains objects in order for the Budew to even make an appearance.
On this specific game their rarity is unknown usually, unless the Sinnoh sound is playing, in which case their rarity is 20%. This could be due to the circumstances that are needed in order for the Budew to appear.
One tip to find the Budew is that it likes to live need clear pools.
I hope this helps, good luck in finding the Budew!