I responded to a similar question on another site just this morning.. This is what I wrote:
There are a few things you can try, but it involves some "homework", but it'll pay off.
When you first get a piece, analyse it harmonically.. It doesn't have to be to great depth, but go through it and figure out what each chord is and write it in. Each time you figure out one of the chords, play the chord on the piano.. You don't have to play them the way it's written, just play the chord, and here's the important part - when you play the chord, SING the name of the chord to yourself as it is sounding. Sing the pitch as close as you can get.. If somebody can hear you, too bad, enjoy that they might laugh

Then, as you are actually practicing the piece, be cogniscent of the chords, which won't be too hard, because you wrote them in, and while you are playing, again, SING the main melody..
Perhaps a more intuitive approach would be "flashcard style" where you play any note, try to hear what it is and say outloud and then check yourself.. But the problem with that is there is no context.. Sure, you may be able to ultimately develop good relative pitch by doing such a thing, but there isn't any real musical merit to it. If you are training your ear to recognize pitches in the context of a piece you are working on, a piece you have analyzed harmonically, a piece which you can also sing, you are essentially approaching the goal of recognizing tones pragmatically, from all different angles.. Over time, as you build your repertoir and experience pieces in different keys and such, you will find that you are naturally recognizing tones..
Does that make any sense I hope?
-Paul