I'm currently working with the iUI dev team on the current CSS style for the project and I have to say I'm quite impressed by the power of the little broswer. Most webkit functions are available to the end user including -webkit-gradients so that you can get most of the UI elements out of the way with zero images.
While you can render the page diffrently based on the User-Agent string, I recomend stearing away from that as of this this as you can target the iPhone with a stylesheet paramater.
<link media="only screen and (max-device-width: 480px)" href="iPhone.css" type="text/css" rel="stylesheet" />
This allows you to use the same HTML markup, and change the way it looks for your iPhone.
For iPhone OS Emulators, apple has you covered, over on the Windows Side it is Safari, and don't forget to change the useragent to iPhone in the dev options. I however use Chrome as it also uses the webkit engine, so most CSS is syntaxially the same.
However, most people have an iTouch or iPhone if your doing this kind of dev work. Your best bet is to test on the 2G phone as it has the highest level of restriction (and slowest of all of CPUs). This gives you a wrose case sorinaro that if you find acceptable, will only get better for the people with 3G and 3GSes.
Some great resources on the subject include:
Apple's Webapps Page
Apple's Developer Safari Page - Includes Link to iPhone Simulator (MAC ONLY).
ADC: Safari Reference Library
ADC SRL: Getting Started with Web Apps
ADC SRL: Getting Started with iPhone Web Apps
MUST READ: iPhone Human Interface Guidelines for Web Applications - Metrics, Layout Guidelines, and Tips
Submit your WebApp