No you can't do that with ActiveRecord.
Rule of thumb - the class you start calling methods on, is the one that the returning objects are. So doing User.whatever will always return User objects. This pretty much eliminates the possibility to do what you want.
If you want to get Document objects, you need to start querying for them on the Document class instead. You could always define you user specific scopes in the User model and reuse them in your Document model for the sake of DRY.
class User < ActiveRecord::Base
scope :foo, where("users.id > 200")
end
class Document < ActiveRecord::Base
belongs_to :user
scope :bar, joins(:user).merge(User.foo)
end
This effectively lets you use the scope defined in User (and which is user specific) in your Document model. I would also claim in that User.where("id > 200").documents makes less sense than Document.where("users.id > 200") (join skipped intentionally).
So I personally think you are just trying to approach this issue from the wrong end :)