We do not as a rule cache any features - in part so we can work with massive content.
As a framework we want to be as light on resources as possible, and leave it up to applications that use uDig to choose when (and what) to cache.
There is a cache checkbox in the style editor you can tick as an experimental option, it keeps the features in a spatial index (and pull features in as needed as your scroll around. It is very effective when working with things like WFS.
The second question is a bit more interesting, wanting features in world coordinates.
If you want to do that make a request of the feature source and fill in the viewport CRS in the Query object. The features will be reprojected as they come out of the database or shapefile. Indeed in some cases the data sources supports native reproduction allowing us to do less work in uDig.
Note that the features that are drawn on screen are subject to "decimation" by the rendering engine, we throw out coordinates on the fly, based on the math transform constructed between the original data, the world CRS and the affine transformation to the screen. The earlier we can throw out coordinates the less information involved in drawing, and the faster we can update the screen.
Jody