This can be done with a function called: Limited Access.
Its possible to limit a user to see only his/her own contacts, quotes, orders etc or group ones.
The same goes for reports. If a user's access is limited for that user only, then the salesperson in reports will be by default that user and they can not overwrite it.