Hi Matt,
It is possible to query for Teams, and then later query for Players on one of these teams and not have a PendingEntityList involved. DevForce can't know with any certainty that all the players for a team are already in cache, and so takes the safe approach of issuing a query to ensure everything is loaded. If you know that all of a team's players are in cache you can turn off this default behavior by setting the EntityReferenceStrategy for the relation, like this:
Team.PropertyMetadata.Players.ReferenceStrategy = EntityReferenceStrategy.NoLoad
The "NoLoad" strategy tells DevForce to look only in cache for the related items.