How can I make my phone do the following if the number is unknown:
Google Voice has options for this. If you have a Voice account and someone calls you using that number you can use the Call Screening option to force them to record a message you can hear before you pick up.
Edit: Google Voice is currently only available in the US, so if you live anywhere else this solution obviously won't work for you.
Browsing thru the market led me to this app called Mr. Number.
I am missing that feature from Nokia devices, Is there a chance to make my Xperia X10 say callers name when I have incoming call
The application SayMyName Dessert does this quite well.