Well, your first point. It's called UV mapping or unwrapping. It can be done by quite a few programs, the best i've found is ultimate unwrap. Basically when you create a model, each triangle has it's equivant 2d tri on a UV map (actually each vertex has it's own set of UV co-ords, but it's easier to explain).
You would simply (yeah, simply) select the triangle for the model, which would show the equivant 2d triangle on the UV map, and pull all the triangles of the face and arrange them on the UV map so they looked like the face, and more importantly, had a smooth texture running across them. You should download it to so what i'm gibbering about!
As for your second point, i'm not qualified to answer that :)
You would simply (yeah, simply) select the triangle for the model, which would show the equivant 2d triangle on the UV map, and pull all the triangles of the face and arrange them on the UV map so they looked like the face, and more importantly, had a smooth texture running across them. You should download it to so what i'm gibbering about!
As for your second point, i'm not qualified to answer that :)