It seems to make this work, we should first generalize the “clamping” to ranges other than $[0, 1]$. Let $C_{[a,b]}(x)$ denote the clamping of x into the range $[a, b]$, $a \le b$, i.e.
$C_{[a,b]}(x) = \begin{cases}a, &\mbox{iff } x \le a \\ b, &\mbox{iff } x \ge b\\ x, &\mbox{otherwise} \end{cases}$
Then, you are asking about the composition of a number of functions $f_i(x)$ of the form
$f_i(x) = C_{[0,1]}(m_i x + c_i)$.
If we take the composite of two such functions, $f_i$ and $f_j$, we get
$f_i(f_j(x)) = C_{[0,1]}(m_i C_{[0,1]}(m_j x + c_j) + c_i)$.
To proceed further, we need to work out some properties of the “clamp” operation. Consider, first, the composition of clamps: what is $C_{[a,b]}(C_{[c,d]}(x))$? The result from the inner clamp will be in the range $[c, d]$, then the outer, in the range $[a, b]$. Now, consider the following (note that “within” and “inside” also includes lying just on an endpoint, e.g. $[1, 2]$ lies “entirely within” $[1, 3]$ here):
$[c, d]$ lies entirely within $[a, b]$: Then, the result of the composite of clamps is just $[c, d]$. $[a, b]$ lies entirely within $[c, d]$: The result of the composite of clamps is just $[a, b]$. $[a, b]$ overlaps $[c, d]$ such that $b$ is inside $[c, d]$ but a is outside: This implies $a < c$ and $d > b$. Then, the result is to clip the upper part of $[c, d]$ off to get $[c, b]$. $[a, b]$ overlaps $[c, d]$ such that $a$ is inside $[c, d]$ but $b$ is outside: This implies $a > c$ and $d < b$. Then, the result is to clip the lower part of $[c, d]$ off to get $[a, d]$. $a < b \le c < d$: $x$ will be clamped to $[c, d]$, but that will always be $\ge b$, so will be clamped to $b$. $c < d \le a < b$: $x$ will be clamped to $[c, d]$, but that will always be $\le a$, so will be clamped to $a$.
Thus, we can see that the result of composited clamps is to clamp to an “intersection” of the two ranges $[a, b]$ and $[c, d]$ that is slightly different from a normal intersection in that if the ranges are disjoint, the result of $[a, b] \cap [c, d]$ is not a null but rather a or b, depending on which side of $[a, b]$ $[c, d]$ lies on. We'll just denote this operation by $[a, b] \cap^{*} [c, d]$ to distinguish it from ordinary intersection. Note that it is not commutative!
So we can say,
$C_{[a,b]}(C_{[c,d]}(x)) = C_{[a, b] \cap^{*} [c, d]}(x)$.
Now consider $y C_{[a, b]}(x)$. For $x < a$, this is $ya$. For $a \le x \le b$, this is $yx$. For $x > b$, this is $yb$. We recongize this easily as $C_{[ya, yb]}(yx)$. So we have
$y C_{[a, b]}(x) = C_{[ya, yb]}(yx)$.
Now, finally, consider $C_{[a, b]}(x) + y$. For $x < a$, this is $a + y$. For $a \le x \le b$, this is $x + y$. For $x > b$, this is $b + y$. We recognize this easily as $C_{[a + y, b + y]}(x + y)$. So we have
$C_{[a, b]}(x) + y = C_{[a + y, b + y]}(x + y)$.
Now, with these properties in hand, we can do the composition just mentioned. It gives
$\begin{align}f_i(f_j(x)) &= C_{[0,1]}(m_i C_{[0,1]}(m_j x + c_j) + c_i) \\ &= C_{[0,1]}(C_{[0, m_i]}(m_i m_j x + m_i c_j) + c_i) \\ &= C_{[0,1]}(C_{[c_i, m_i + c_i]}(m_i m_j x + m_i c_j + c_i)) \\ &= C_{[0,1] \cap^{*} [c_i, m_i + c_i]}(m_i m_j x + m_i c_j + c_i)\end{align}.$
It is then straightforward to generalize to more than 2 functions. Note the result is just another clamped linear function, though it may be that the clamp interval is different from $[0, 1]$.
EDIT: I just noticed that I forgot take into account a negative multiplier $y$. If the multiplier is negative then the clamp interval in the identities above for multiplying a clamped value needs to have its parameters reversed since in that case $ya$ will now be the top of the range and $yb$ will be the bottom. Or we could just make it understood that in the notation that $[a, b]$ for $a > b$ should be interpreted as $[b, a]$. This keeps things compact.