CataM, the key word "substitution theorem" is correct. However, most of the textbooks do not "know" this theorem - although it is applied very often.
As an example, it is given in "Desoer, C.A. and Kuh, E.S. : Basic Circuit Theory, Mc Graw-Hill, 1969".
First, to answer your questions
* Yes - it can be applied to non-linear circuits
* No - dependent sources are not allowed.
Here is the basic content of the theorem:
"In an electrical network (time-invariant) any arbitrary branch Z with the branch voltage Vz and the branch current Iz can be replaced by an independent source (Vz or Iz) without influencing all node voltages and branch currents - provided the network matrix has only one single solution."
This theorem is applied very often - however, mostly without knowing it.
Two simple examples:
1.) Two transistor gain stages in cascade. We calculate the gain of the first stage (taking the input impedance of the second stage into account) and consider the signal output voltage of this stage as an ideal input voltage source for the second stage. This is only allowed because of the Substituition Theorem.
2.) For calculating the quiescent DC conditionc (Ic and Vce) for a simple transistor-based gain stage we can substitute the base emitter voltage Vbe (assumed to be app. 0.7V) by a DC source of Vz=0.7V.
This simplifies the calculkation.