I use C# language and http://www.mindsqualls.net/ library. But I could not find how to download my program into brick. Actually, is it possible? Or I just have to control my nxt 2.0 robot via bluetooth? Are there any languages/libraries which allow to download programs into brick or it is only possible for mindstorms nxt 2.0 visual editor?
It doesn't seem to be possible. To quote mindsqualls' site:
MindSqualls is a .Net library for controlling a LEGO MINDSTORMS NXT or NXT 2.0 robot via either a Bluetooth- or an USB connection. It is written in C# and requires .Net v. 2.0 or newer.
Which means it allows you to control your NXT brick from the PC, and from the PC only. It does not offer any possibility to create a program which you would download on the brick.
But fortunately, the second part of your question has a more positive answer: yes, there are alternatives to the visual editor provided by LEGO, and there are actually a lot of them. This has been covered extensively in another question, so I won't get into the details again, but a good start is this list of alternatives compiled by Steve Hassenplug. Note that Mindsqualls is on that list, in the section devoted to software that only runs on the PC ("remote controls").
This is not currently developed, but I think it is a good thing to check out when it is done. http://www.dcl.hpi.uni-potsdam.de/research/lego.NET/