You can get this information by querying the sd (ShadeData) of VRayContext::rayresult for the MappedSurface interface. Then use it to retrieve the transformation from world to texture space. Then invert this transformation and use its x and y columns to get the world space coordinates of the tangent and bi-tangent vectors.
Something like this:
MappedSurface *mappedSurf=(MappedSurface*) GET_INTERFACE(rc.rayresult.sd, EXT_MAPPED_SURFACE);
if (mappedSurf) {
Matrix worldToTex=mappedSurf->getLocalUVWTransform(rc, channel).m;
Matrix texToWorld=inverse(worldToTex);
texToWorld.f[0]; // this is the tangent
texToWolrd.f[1]; // this is the bi-tangent
}
This is correct for Maya, but for 3ds Max you can simply use the ShadeContext:: DPDUVW() method. Note however that the result from this is not continuous across triangles. If you need the continious vectors, let me know.