I know about making 2D game uisng Unity's 3d engine, but is there a way to make a pure 2D game which doesn't rely on machine's 3d engine in any way. Just in order make the game compatible with old machines that don't support and 3D acceleration.
First of all Unity actually has a mode called 'Dinosaur' to test how your game might look on an older computer.
As far as I know Unity does not support native 2D functionality and it wasn't designed with older computers in mind. Getting Unity to operate natively in 2d would probably be more trouble than it's worth.
However, developing a 2d game in Unity uses less GPU resources than a 3d one. I think a PC made in the past 10 years should be able to run a 2d game made in Unity without too many problems or slowdown. Anything older than that and you could have trouble.
Finally, development for Unity iPhone usually centres around optimising code to run quickly. An iPhone 2G has roughly the graphics capability of a PC from say, 1998-2000.
If you want to do that, you have to use something other than Unity, which is a 3D engine only.