Hm, no, the current Blender mesh supports face normals and vertex normals, but no 'per face' vertex normals.
What I meant was this: you don't need to create new meshes, but whenever two faces belong to two different 'smoothing groups' they should not share vertices. they can be attached to coincident vertices, but not to the same vertex. So if you have 4 vertices v1,v2,v3,v4, and two faces f1.v=[v1,v2,v3], f2.v=[v2,v3,v4] in order for them to have a sharp edge you must add to the mesh two new vertices, v2' and v3', so that the first face is still f1.v=[v1,v2,v3], and the second face becomes f2.v=[v2',v3',v4] instead. as long as v2.co = v2'.co and v3.co = v3'.co the mesh won't have a visible seam, but if v2.no != v2'.no and v3.no != v3'.no the edge will show as an hard edge.