You could set the latestObservationRenderer and observationRenderer to instances of UniqueValueRenderer, where the UniqueValueRenderer has a defaultSymbol used by most observations and then a UniqueValueInfo with the symbol to use for a particular observation.
For the latestObservationRenderer, you could set the UniqueValueInfo.attribute to be the object id field name and then set the corresponding value in the UniqueValueInfo. For the observationRenderer's UniqueValueRenderer, you'd need to set the attribute to some kind of track id field that is common to all the features in a track.
Once you have the renderer set up, you can make the FeatureLayer redraw by resetting it on itself.
featureLayer.renderer = featureLayer.renderer;
Another option is to create a custom Renderer class that can return the symbol you want based on your own logic.