Yeah, texturemapping might not be the best idea if you're going to have tons of objects.
However, even though the rotating/scaling sprites idea may be annoying (think: every single object in Mario Kart) it is still quite possible, especially if you add some animation to it (I remember that Mario Kart sprites had different animations when viewed from different angles, so it wasn't just the same annoying sprite frame all the time).
Essentially, rotating and scaling sprites in 3D involves creating 3D vectors (one for each image), rotate them using a matrix. This gives you the position of the upper left hand corner of the image.
To scale the image according to distance, create a second vector with the same Z element but the X and Y element are the width and height of the lower-right corner.
ex.
vector1.x = 50
vector1.y = 50
vector1.z = 200
//Second vector, lower-right corner of image
vector2.x = vector1.x + ImageWidth(sprite)
vector2.y = vector1.y + ImageHeight(sprite)
vector2.z = vector1.z
This would be enough information to do a scaling sprite. Rotating sprites...well, I can't quite think of how to do it at the moment. Use the above two vectors to calculate the size of the image, scale the image, and then Rotate using RotScale or something.
For information on matrix/vectors/datatypes and stuff, and how to set it up in code, go here.
3D Coding Blackhole
Read about the math and the code for the transformations. You don't really need anything else involving polygons, but it's a good read if you're interested. This is what I'm trying to base my 3D code off of...if we ever see it again :) Basil, you have any good links for 3D info?