To open channel I should create a transaction with a special script and at least one output to P2WSH address. Is it possible to open more than one channel in one transaction if I created transaction with two or more outputs to different P2WSH addresses and relevant scripts?
Theoretically this would be possible but the entire work flow of channel creation would be disturbed as you would have to wait for the commitment signed message of each channel before broadcasting the funding TX.
Also currently the funding TX is used to verify the existence of a channel in the gossip protocol.
So yes theoretically this would work. Practicalky this would yield quite some protocol changes