I want to make a mobile website which can use mobile native elements like camera, contacts and geolocation.
Can I make such website or I have to go for Mobile App ?
If Mobile App and consider Sencha Touch with PhoneGap, Is there any other option to distribute than going through app store ?
Will that work to build complete application using Sencha Touch and then wrap using PhoneGap to support all mobile devices ?
Do I need Mac machine or I can do everything using Windows ?
Mobile browsers are getting better and better but there is likely that some functionality is available only on the native side. For example, geolocation is available on iOS for a while but access to camera is new in iOS6. So, you have to investigate yourself which functionality you need and if it is available on the target device.
You cannot distribute mobile apps without the app stores (at large scale at least).
In principle yes, but "support all mobile devices" is a bit vague and ambitious...
If all can be implemented without plugins, you can use any OS and build the app using PhoneGap Build service.