You were on the right track.
You want every frame of the ant to stay at every frame, yes? This means you want to set the echo time to -.033 (1/30 second, for NTSC).
The number of echoes represents the length of the trail. I’d animate its value from low to high as the ant move across the screen, ostensibly to reduce render time. With a dot moving in an s-curve across the screen, I animated the value from 0 to about 1300.
If you want the dots to be spaced farther apart, increase the echo time.
The dots will never be static, they will always follow the ant and match its motion, though delayed. However, we can give the impression of static dots by tweaking the echo settings, and getting something like the effect of a rotating wagon wheel appearing static on film. If the ant crosses the frame in 40 seconds, you have 40×30=1200 images of the ant to work with. If you want a gap between each ant image … say that 40 ant images will give us that. That means we see an ant echo every 30 frames, or every second. Set the echo time to -1, and the number of echoes to whatever will give you the trail length you want.
But they’re not static … so you need to apply echo to a movie of the ant which runs at 1 frame per second. This is the trick to get static ants if you want ’em. You need to precompose the footage using the “leave all attributes” option. Within the precomp, apply time>posterize time to the footage so it runs at 1 fps.
Then go back to the main comp and add normal footage of the ant over this is you still want to see an ant moving at normal speed to lead the trail.
Does that help?