I want to catch another legendary Pokemon but I'm all out of master balls. How do you obtain another Master Ball after you have used the first one HeartGold and SoulSilver?
To obtain another Master Ball after having already used the first one, you must have some luck on your side. The Goldenrod Radio Tower has a Lottery Corner, where if all 5 numbers of the ID of any of your Pokemon match (including those in the PC), you will receive a Master Ball. You can do this multiple times, but takes a lot of luck and patience.
You can also have a friend trade over a Pokemon with it holding a Master Ball.
If you have an Action Replay, you could use a code to get another Master Ball.