If I run bitcoin client for the first time its try to make TCP connection with saved list of IPs and port 8333 -other nodes. If this nodes are behind NAT with IP 192.168.0.XX and public IP from the NAT router with changed from NAT unknown port its appears that bitcoin network is down? Or bitcoin client will try to make UDP/TCP hole punching connection? If its mandatory for some miner to have public IP address?
Can exist bitcoin network with all nodes behind NAT?
Sure. Both the Bitcoin client and many SOHO routers support UPnP. Failing that, Bitcoin users could set up port forwarding.
Or bitcoin client will try to make UDP/TCP hole punching connection?
No, it won't do that.
If its mandatory for some miner to have public IP address?
Generally, mining pools will have a public IP address. There's no reason why you couldn't set up a mining pool server behind NAT and use port forwarding to make it public, but it would be a very strange way to set things up.