What you are looking for is something called "Billboards". If the 3D camera moves, the sprites will always face the camera, always displaying the image. Games like Ragnarok Online do this. Normally what you do is just draw a quad and transform it so it's always facing the camera.
I'd link a tutorial but it really depends on what technology you are using for the iPhone app. Is it cocos3d? Unity? OpenGL?

In my opinion, componentization has been a very good architecture design decision for games as it provides a lot of reusability as well as elegance. In games, try to prefer components over inheritance. I'll leave this references here:

I implemented a 3d tile system on Unity, creating the maps procedurally for the GGJ. What i ended up using was A* on top of the matrix that represented the map, and on unity just use the character motor to move the units within from tile to tile.

What I would've liked was to actually autogenerate a navmesh on the created tiled map, so that the units could move through corridors and edges in a seemingly smarter manner, as well as move in straight lines from one place to another, diagonally. I couldn't get this to work though, since apparently Unity doesn't support seting another navmesh on existing actors