A: 

As noone has yet answered the question, I'll post on what I have decided in the meantime.

Just for the record, I have pretty much decided on calling most data store classes repositories. First, it appears to be the most neutral, non-technical term from the list I suggested, and it seems to be well in line with the Repository pattern.

Generally, "repository" seems to fit well where data retrieval/persistence interfaces are something similar to the following:

public interface IRepository<TResource, TId>
{
    int Count { get; }
    TResource GetId(TId id);
    IEnumerable<TResource> GetManyBySomeCriteria(...);
    TId Add(TResource resource);
    void Remove(TId id);
    void Remove(TResource resource);
    ...
}

Another term I have decided on using is provider, which I'll be preferring over "repository" whenever objects are generated on-the-fly instead of being retrieved from a persistence store. (Factory would also be appropriate, but sounds more technical, and I have decided against technical terms for most uses.)

stakx