A) With the Windows Mobile 6.0 SDK, you can target Windows Mobile devices obviously, there are two main categories: Windows Mobile Professional (Formerly known as Pocket PC) and Windows Mobile Standard (Formerly know as Smartphone). The main difference is that Professional supports touch screens and standard does not, but you can run the same binary on both and the distinction is going away in the future.
C) (you skipped b) if you are using the Windows Mobile SDK, you need a windows mobile device like the T-Mobile Wing (Professional) or the T-Mobile Dash (Standard)
D) all Windows Mobile devices are advertised as such, if the device says it runs Windows Mobile you will be ok.
e) No, you can also develop for Symbian (Nokia & Sony Erickson), Backberry, iPhone and Android among others. iPhone and Android are very popular at the moment, if you are just starting I would suggest Android, you can get the T-Mobile G1 or the Google ADP1 (same hardware) and the development tools are free (eclipse + Java SDK + Android SDK).
Update:
To clarify on e)
You need different tools/devices for each platform you are targeting, for example:
1) For Windows Mobile you need a Windows Mobile Device (i.e. T-Mobile Dash or T-Mobile Wing), a Windows Desktop and Visual Studio.
2) For Android you need an Android Device (i.e. T-Mobile G1 or Google ADP1), one of the following desktops (Windows, Linux or Mac), Eclipse (a free download) and the Android SDK (another free download).
3) For iPhone you need an iPhone and Mac desktop, you can download the SDK from Apples web site.
Symbian and blackberry would be similar, you need separate devices and tools for developing for them.
Update #2:
Most of the mentioned platforms and SDKs support some sort of emulation so that you can develop without a physical device, however I don't recommend going that route but for the simplest of applications as in my experience, the variations with real life devices are big enough as to warrant extra testing on your target device anyway.
Update #3:
One more thing, if you want to remain using C# only, then your only option is Windows Mobile as that's the only platform with support for that language. for the iPhone you will need to learn Objective C, for BlackBerry and Android you need Java, and for Symbian you can do C++ and Java.
Best Answer
using the Stand-alone-Device-Emulator with any of the Windows Mobile emulator images is the best you can do, if you do not have a device to test.
The question is, which devices you are targeting. If Windows Mobile 6.1.4, the link you mention is OK.
Additionally you should to load the Stand-alone-Device-Emulator from here. That enables you to start stop Windows Mobile Emulator images of different kinds.
The Internet Explorer Mobile inside the emulator behaves the same as on devices using the same OS. That is ensured by MS certification. OEMs just include the Internet Explorer as it is delivered by MS.
You may also need to load other emulator images like the Windows Mobile 6.5.3 (aka Windows Embedded Handheld 6.5.3) which is the latest available Windows Mobile OS. Windows Phone (7 or 8) is a totally different branch.
If oyu need an internet connection inside the emulator, you need to load and install ActiveSync (<=Windows XP) or Windows Mobile Device Center (WMDC, >=Windows 7). Do not interchange Windows Mobile Device Center with Windows Mobile Device Manager!
In ActiveSync or WMDC you can enable passthru of the ActiveSync/WMDC connection:
Choose "Allow Connections..." DMA option to allow the emulator to be 'cradled'.
If enabled, you can access the internet or the Computer's network within the emulator and so can connect to a web server running reachable from the Computer.
~josef