I am hired by my local company here which makes small accounting/billing/payroll softwares to manage its clients' companies. Most of them use windows platform and the softwares themselves will not be too complex ones. I want to ask which language should i opt for? Python, C#, VB.net or something else which will make the GUI programming task easier. thanks in advance.
My personal preference is WPF/C#.
I say go with the latest technology (whichever YOU find easiest), it will be good for your career.
For programming on Windows you want to go with .NET and probably WPF for the presentation layer if you can wrap your head around MVVM as it gives you much more scope for delivering flexible UIs than forms.
For cross platform utility - probably python, but I'm not sure I'd want it to be my principal development tool (if I'm focusing on Windows applications).
If you decide on using Python, you probably want to look at pywinauto and the win32gui stuff from the brilliant Mark Hammond which comes with the Python Windows installation.
The advice to build upon what you already know is very good advice.
As you are thinking of Python, I feel i should warn you off Iron Python. I found it very very slow and WPF confused the heck out of me. The designer is nice. The error messages you get when importing the wrong namespaces are cryptic and comfusing (Example - "Error: expected X got X").
Qt, PyQt and Python appears to be acceptably quick (Python is no speed demon), well documented and stable. It will adopt the local styling, so it looks native XP or Win 7 with no changes.
Fair warning about Python. It boasts of being "batteries included". This is great until you find there are 4 different modules that might do what you want, and no decent documentation for any of them, to help you choose the most suitable.