To answer your second question:

The texture-coords are stored in a single vertex.

Like:

[pascal]
TMyMultitextureVertex = record
Pos: TVector3;
Normal: TVector3;
Tex1: TVector2;
Tex2: TVector2;
Tex3:TVector2;
end;

//FVF would be (correct me if I'm wrong)
D3DFVF_XYZ or D3DFVF_NORMAL or D3DFVF_TEXCOORD3
[/pascal]

Hope it helps.