In a correct proof, every used variable should be properly introduced. Just like in a regular conversation, if your friend told you that Pennington is an ambidexter, you may have no idea what he/she is talking about because none of the people you know is called Pennington. Some of the ways to introduce x are: "Let x = ...", "Fix an arbitrary x in A" (provided it has been shown that A is nonempty), "Consider x whose existence is claimed by (1)" (provided formula (1) is proved earlier).
Here the use of x in the second last line is OK because it means |f(x) - l| < -l for all x such that 0 < |x - a| < δ. "For all" makes x range over the whole neighborhood. However, in the last line you are talking about some concrete x, and it is not clear what it is. This is not allowed in a well-formed proof. If you say that x is universally quantified over the whole last line, that's fine, but since you are using the assumption $f(x)\ge 0$, which is true only for $x\in A$, x must be quantified over those elements of the neighborhood that belong to $A$.And if this set is empty, then you have not proved anything because a statement that starts by universally quantifying over the empty set is vacuously true. I don't believe you think that x has to be quantified over in the last line, so you have to say what this x is.
An argument from another side is that this theorem is false in general if $l$ is not an accumulation point of A. Can you find a counterexample?