This idea is workable, but you must be very careful, lest speed
dominate. I've seen some roleplaying systems with speed, and the
effect of superior speed is devastating, far more than increases in
attack or defense.
So let me imagine how this works. The "speed" is really a weight, and
the probability of choosing a particular unit to attack is
weight(x)
prob of x attacking = --------------------------
total weight of eligibles
This makes those tough monsters attack more. But it doesn't really
fix the problem of wanting lots of cannon fodder. In fact, I contend it means you
want more padding, to take those increased number of hits.
To reduce the value of padding I propose a new combat skill, call it
intelligent targeting: When a unit with this skill is chosen to
attack, it attacks the "most effective" thing, not a randomly chosen
thing.
Defining the "most effective" thing is tricky. Perhaps you want it to
be the biggest thing, or the biggest thing that you have at least a 5% chance
of hitting, or something. I don't think allowing players to "program"
this is a good idea, since it is too complicated.
As a fallback you use random targeting as now.
Or here's a simpler idea. When targeting, ignore everything that has
less than a 1% chance of killing you.
When the opponents can ignore all those peasants, they become
irrelevant to combat.