I've been doing lots of little stuff, nothing too major (no big projects), but from what I've seen..
1) This is hard to say: All (most) programming language have the same basic key-words/concepts. IF () statements for example, Functions, Numeric Data Type (Integer, Short, Long, float/decimals etc). Once you learn these concepts (pass by reference, by value, etc) in any language, it's much easier to learn / apply them in a second language. If you've never heard of a Function (member/subroutine/other name), or other basic concepts, it's hard to even get started. For example, most languages allow you to create 'variable', aka pieces of ram, where you can store data, like age, name, zipcode, etc. Most languages (except php

) require you to explicity say what data type they are (short, ushort, int, uint, long, ulong, byte,single, double, etc). If you don't understand the core data types, you probably will have a hard time with even the most basic 'data manipulation tasks' (ie. everything. math, encryption, string manipulation etc etc).
Personally I learned Visual Basic first, and I liked it because the language uses a lot of 'keywords' that are..pretty obvious in English (ie. ReadOnly. C# has the same thing, but it involves having a private setter: not very different, but for a beginner, maybe a little more complicated at first). With that being said, you still have to understand what it's doing! So weather you learn to use 'Properties' in C# or VB doesn't matter, as long as you understand what they do. (Basically just functions to get and/or set variables / scope)
But I think it's a fact of life C++ / the C syntax is popular, so maybe learning that syntax is best. Again, learning about the concepts is more important than learning any specific language syntax.
2) Since you specifically mentioned windows: Microsoft now uses the ".Net Framework" which is (you'll learn more later) basically a HUGE collection of classes for us programmers to use! And it has everything..! If you need to access the mouse (cursor), there is a class for that. Want to load a bitmap from file, there is a class for that (a class called Bitmap

which has a lot of easy-to-use functions like GetPixel(x,y) to get the color data from any pixel in the image. And more.)
With that said, the .net framework makes it relatively easy (couple lines of code) to access most of the functionality you're used to just by using Windows. Copying files, creating files, using the web, lots of things, can be done with just a few lines of code and a framework class. So depending on the project, the framework probably has something useful for you.
For the .net framework, the most popular is C# (arguably visual C++) because it has C (hence C++) like syntax.
C++ is is popular because it gives you finer control on how exactly you manipulate each byte (and bit) of data / since it doesn't require the "safety checking" of the .net framework (CLR I suppose), it can* be a lot faster. So for example, if you're writing software that does something very repetitive, on a large chunk of data, lets say encryption, it may be faster to do it in C++ vs .net. (arguable? Please don't.)
Hard to say "most popular": Personally, I learned the basic syntax first (keywords are more like English! vs 'abstract', ':' etc).
For windows specifically, probably C#.net or Visual C++.net (eh..several types) followed up by vb.
For anything 'hardcore efficient/server' related, probably C++ (or C)
If you want it to run on any platform (windows,mac,linux) maybe go with Java (?)
3) Judging from job posting I've seen: It REALLY depends. A lot of stuff is moving towards web-based from client-app based, but it really depends. Probably asp.net/php/ajax/ruby/etc for web pages. C++ / .Net for local programs.
C++ is good for efficiency.
C# is good for a daily windows app (msn messenger, firefox, skype, etc could all easily be made in c#)
And lastly, Java: I love Android, and it was designed to run Java (I guess you can argue you can use C++, but don't, again unless you absolutely need the speed: for portability, use java). I've made a couple small 'hello world' apps for android: the IDE took care of most of the work, I popped up a msgbox when gps signal was acquired/lost, that was it, but only took me a day to get going. Never used it on my desktop: I only code for windows so I usually stick w/ .net.
Just my 2 cents. It really depends: once you have 1 language (ie. all the basic language constructs) under your belt, the rest if easy.