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.
Richer set of results you will be able to find if you try to track down what are hardware requirements for Windows CE 5.0 and Windows Embedded 6.0. Information is usually associated with Platform Builder tool which is used for building embedded platforms.
As of Windows Mobile, according to some presentation, it can run on 195 MHz with 64MB of RAM.
Best Answer
Make sure you're disposing your forms after you're done with them (calling Dispose() or declaring and using them in a using() block), especially if they contain Bitmaps and/or PictureBoxes. More generally, make sure you're disposing every resource that can be disposed of.