You can then apply this to id: (|X|,|A|) -> (|X|,|A|) to get a homotopy, rel A, from the identity of X to a retraction r: X -> A. This shows that A is a strong deformation retract of X and is in particular is a homotopy equivalence.

**EDIT:** OK. I missed the finiteness hypothesis. If you don't assume the Whitehead theorem (in fact, you usually use something like this to prove the Whitehead theorem), then you need to do the following.

Let X^{(n)} be the union of A with the n-skeleton of X. Suppose we have already constructed a self-homotopy of |X| rel |A| moving |X^{(n-1)}| into |A|. Call the resulting map f_{n-1} from (|X|,|X^{(n-1)}|) to (|X|,|A|).

You can then, for each n-simplex of X^{(n)} not in A, use the given property (*) to find a homotopy from this simplex, rel its boundary, from the map f_{n-1} to a new map moving the simplex into |A|. Putting these together gives you a homotopy rel X^{(n-1)} from f_{n-1} to a new map g that takes |X^{(n)}| into |A|.

The inclusion |X^{(n)}| -> |X| is a relative CW-inclusion, and so it has the homotopy extension property, and you can extend your given homotopy to a self-homotopy of |X| rel |A| from f_{n-1} to a new map f_{n} that maps |X^{(n)}| into the boundary. Then induct.

You get a sequence f_{i} of functions and homotopies H_{i} from one to the next. If you glue these together by applying the homotopy H_{i} on a time inteval of length 1/2^{i}, you get a finite time homotopy H of |X| rel |A| from the identity to a map sending |X| into |A|. That's your strong deformation retract.