go to the safari zone and talk to the boy who gave you his shuckle and give him his Pokemon (or keep it)and he'll give you 20 masterballs for taking care of shuckle.
No.
you cant
There is only one masterball in yellow.
Sorry you can't
No.
You can only get another masterball if a friend trades you a Pokemon holding the masterball they obtained.
From the Lottories.
Lilycove lottery
you cant
You can get another masterball by winning the Goldenrod lottery.
I recommend trading a Pokemon from another games holding a masterball. If you don't understand. USE THE TRADED MASTERBALL!
Have it traded from another game.. that's about it