Heart Gold and Soul Silver: Lottery
The lottery is located on the bottom floor of the Goldenrod City Radio Tower. Talk to Felicity, the middle woman at the front desk, and say yes to her question. She will check the ID number of each of your Pokemon and compare it to the lottery number. If any of the numbers match perfectly you will win a Master Ball. You can also win smaller prizes if you have matching digits but the whole number doesn't match.
Theorectically, you should be able to increase your chances of winning the lottery by catching more Pokemon. That way you will have more ID numbers for Felicity to compare to. With this in mind, the lottery is still based on chance so there is no way to guarantee a win.
The lottery can only be played once a day.