the program GIMP (its free to use and download and similar to photoshop) has a very simple way of doing exactly what you are asking for without a lot of picking and masking. I know this because I learned photo editing and painting on GIMP before I went to photoshop and was shocked that photoshop didn't have this fast and easy way of taking all the white, grey out and keeping a smooth look to the the black without a lot of steps.
When you are in GIMP the process is as follows:
1 Open your document (i.e. black and white photo)
2. Right click on the photo in layer menu select "add Alpha channel"
3. Go to the Color Menu at top and select "Color to Alpha" a window appears showing the color and hit okay.
That's it. Your done. Takes like one minute.
You can save it as a photoshop file or anything else
Also The color picked is defaulted to white on black and whites but you can color pick any color you want. It doesn't leave a bunch of ragged edges.
From what you said, you don't want an Alpha Channel, you need a Layer Mask. Please see my updated answer. – Django Reinhardt – 2011-05-20T12:51:23.183
1Actually I need alpha, but please give me some more time to verify your answer and get back to you. What I want is exist in Adobe Fireworks... but not Photoshop. – Pablo – 2011-05-21T14:22:25.880
Well I gave you the Alpha Channel, but you decided it wasn't what you wanted. I'd suggest giving the Layer Mask option a go, as this has the effects you say you desire. – Django Reinhardt – 2011-05-25T13:16:08.150