tex2D is only supported in pixel shaders, not in vertex shaders. I can use tex2Dlod, that is supported in vertex shader 3.0. In vertex shaders this only works with 32 bit floating point textures (R32F and A32R32G32B32F (on nVidia cards that is at least)).
Also texture lookups in vertex shaders do not use any filtering or mip mapping. It's just point plane filtering.

Anyway here's an nice article about it: http://www.ziggyware.com/readarticle.php?article_id=127

edit:
AFAIK
- nVidia supports texture loopups in vertex shader
- ATI supports rendering to a vertex buffer via pixels shader