How can I have friend to send me money without possibility to see my balance? How can I have friend to send me money without possibility to see my balance?

When I give him address where to send bitcoins, he can use e.g. https://blockchain.info or  http://bitref.com/  to find my balance. 

If I create new address, let him send money to the new one and then I forward money to my original address, can it be easily tracked (what is stored in block?) ?
You are correct that anyone can see the balance of bitcoins in any address at any time.

So a better way to keep your total balance private is to make a new address and ask your friend to send the coins to that address.  Then, don't transfer the money to another existing address of yours.  Any reasonable wallet software is capable of handling coins divided among many different addresses, and doesn't need them to be consolidated into a single address.

As you spend coins over time, eventually your wallet will use the coins in the address that your friend paid.  If those coins are combined with coins from another address of yours, your friend might be able to figure out that the coins in that address also belong to you.  But the more you keep your coins spread across multiple addresses, the less of a factor this will be.  If you use a wallet client such as Bitcoin Core which creates new addresses for change, they will spread out even more.

Of course, because of this, if you do send the coins from your friend to an existing address of yours, your friend cannot be sure whether the new destination address actually belongs to you, or to someone else whom you have decided to pay.  But if you don't do that, your friend has even less information.