Как вы планируете хранить дату доступа? Если вы сделаете его атрибутом вашей клиентской сущности, вы можете увеличивать его каждый раз, когда к объекту осуществляется доступ, а затем использовать NSFetchedResultsController, который выбирает клиентов, упорядоченных по дате доступа. Недостатком является, конечно, то, что вы изменяете экземпляр каждый раз, когда получаете к нему доступ, что может быть не идеально.