1) The Problem is you can't choose your public key or your address, otherwise the whole system would be broken.
All you can do is choose a private key and calculate which address it corresponds to. Then if you don't like that address start again.
If you could choose an exact address, what would stop anyone who sees that this address has a balance from choosing the same address and spending your funds?
2) Tell us how and it will be done.