One approach is to use the Remove From() function in a reversed loop, i.e. removing items from the end of the list to preserve the list item numbering.
first_string =
"Change the scale of a plot by clicking in the frame with the Magnifier tool or by rescaling the axes";
all_list = Words( first_string, " " );
For( i = N Items( all_list ), i > 0, i--,
If( Length( all_list[i] ) <= 3,
Remove From( all_list, i, 1 )
)
);
Show( all_list );