i did this in photoshop cs5 but i'm pretty sure it's applicable to most versions of photoshop, and even to other graphics programs - instead of using the cloud filter, you could use a cloud or grunge texture.
from to
1. i was working with a HQ cap from grand-caps, and you should probably work with the highest quality you can, then downsize, so the effect looks more seamless in the end!
2. on a new layer set to 'color' i did the absolute laziest thing possible and colored over the background figure in black, turning her to black and white, and set that to 80%. result
3. i duplicated the layer and went to filter > render > clouds, and set that layer to soft light, to get a smoky/distorted look; then i duplicated that layer and kept the duplicate on soft light. result
4. on another soft light layer, i just painted over the same general shape with a white brush. (hahaha did i mention that i'm lazy?) result
5. i duplicated the original image and brought it to the top. i selected a rectangle of the background, hit ctrl+T for transform, and dragged one side to the left to duplicate the background. i went to filter > blur > gaussian blur to make it smoother, and erased it from his face, then set the layer to 40% so it gave her the appearance of being transparent. result
6. resize to 500 px wide, add curves layer for color, and voila! your end result again:
you could definitely apply the same general effect to a figure that's in-focus, but you'd have to be much more exact with your color/soft light layers and how you cover them with the background.