I actually did this a couple months back. With the help of Sylvain and Waterman on IRC we got the following solution working. So, for anybody searching:
float3 Tangent = cross(IN.Normal, float3(1, 0, 0));
float3 BiTangent = cross(Tangent, IN.Normal);
Tangent = cross(IN.Normal, BiTangent);