You can build Mobile programs using any of the .NET languages, such as VB, C#, J#...etc, and with C++. If you already know these languages fairly well (VB.NET and J# being very close to Java) then, rather than buying a book, i'd suggest looking online for some resources on developing Windows Mobile programs. I downloaded (can't remember from where in the Microsoft website) something called "Windows Mobile Developer Resources" which includes the following sample programs:
Calendar And DTP
Owner List View
It also includes ssome white papers on developing mobile applications. This coupled with other information available on the web, should be enough to get you started.
Here's another helpful link for instance: http://msdn.microsoft.com/mobility/windowsmobile/howto/getstarted/default.aspx
I'm in the same boat as you, i just bought a nice Pocket PC with the intent of developing programs for it.