You can't achieve this with a Sharing Rule of any kind, because the target of the sharing is dynamic on a per-record basis.
Before embarking on the only available solution, which is Apex-managed manual sharing, you may want to evaluate whether simply using the out-of-the-box Account Teams functionality can meet your needs. The salesperson could simply be on the Account Team with the right level of access.
If you absolutely must implement this objective in this way, you'll want to read this article from Salesforce, which discusses a couple of different solutions build around using Apex to generate manual sharing records to achieve this type of dynamic sharing.