Your mileage may vary, as this is a carrier dependent function. I was however able to achieve the following using two AT&T phones in the U.S.
First I opened Settings > Phone > Show my Caller ID and turned the switch off.
Next I placed a test call to the second phone, the other phone correctly displayed "no caller id". (Note: it does NOT matter who the carrier is for the second phone, all the magic relates to what the first phones carrier offers.)
Next I google "AT&T star codes" and located this list. *82 looked like the best choice.
I then modified the contact for the second phone, adding *82 before the phone number.
Calling that contact then allowed my caller id info to be displayed on the second phone, while still being blocked for others.
It's my understanding that *82 is reasonably standard for the code itself in the U.S. I have no idea which carriers support it however (other than AT&T where I did test). I also have no idea what carriers in other countries might use, or if it's supported with a star code. Consult Google for "(carrier name) star codes" or check with the carrier.