1. The answer is of course not. There is no requirement that there must be a certain gap between when you went from one H-1 to another. So if you move from A to B and 10 days later decide to move from B to C that is not illegal. The law permits you to do it.
2. If they don't cancel your H-1B they are considered to be still the employer and they can be required to pay your salary. As for the second part of the question, no, but you have to have a filed petition. This is important. You have to have your second case filed before the first case if revoked.
3. Yes, your I-140 which got approved through company B will still be valid and yes you can use it for future extensions of H-1B. If company B wants to keep your I-140 they can. You will have to start your green card all over again but you should be able to use your priority date with the old I-140 approval.
4. One of the ways you can get a copy of I-140 is through FOIA request which is I think the form G-639. When you file a 639 it is a free form without fees. Government then gives you a copy of your immigration paperwork.
5. There is no mandatory period that you have to work with a company after getting your I-140 approved. More...
Note: This is a verbatim transcript of the referenced audio/video media delivered as oral communication, and, therefore, may not conform to written grammatical or syntactical form.