Is segregated witness necessary for lightning, and is there also something in segregated witness for sidechains?
Yes there are bits missing from the Bitcoin main net which mean that at the moment lightning Network can be done, but in a very complicated way, that is not very efficient.
So seg wit is necessary to do that and, there is a bit missing that is required for sidechains. Which is you need to have a particular script operator that allows you to publish SPV proofs – a Simple Payment Verification proof chains, basically of Merkle trees that point to specific transactions in order to implement a two-way peg. That is a requirement.
In order to do it smoothly, to do sidechain smoothly in Bitcoin, you need to upgrade the language.
Now. Segwit provides a very efficient scripting language upgrade mechanism, that could make SPV proofs very easy to do, because it has a script versioning number, so you could create a new version number 2, and that version number could implement a sidechain SPV proof code very simply with Segwit.
So Segwit is a prerequisite for a lot of things.
You could do sidechains by doing replacing one of the existing op codes, the same way that check logtime verify was introduced. It took one of the unused op codes and changed its meaning through a soft fork.
But if you can get that kind of change through, why not just get Segwit done, which would make things a lot easier?