Hi Marcelino,
1. To achieve it, there are multiple custom ways, such as business rules, Javascript or flow.
The logic is to set up a discount association table for customers and products, and then obtain the Customer field value of the Opportunity, according to the association table in the Opportunity Line to automatically fill in the "Manual Discount" field.
2. We can also create a custom entity, as you said, using entity records to act as the association table.
Relatively speaking, I recommend the latter because it is more convenient to use the custom entity to define the discount relationship between accounts and products, and it is also easy to maintain later.
If you want to display discounts on Account products on the Opportunity form, then we will use the Qucik View Form.
First please refer to this blog to learn about Qucik View Form: https://carldesouza.com/dynamics-crm-quick-view-forms/
This is my custom entity, it has lookup fields for Account and Product, and discount fields.

New a Qucik View Form for Account entity. In the Qucik View Form, insert a sub-grid of the custom entity. Save and publish.

Edit the custom entity view, click Add Columns to add fields. Save and close.

Edit the Opportunity form, insert a Qucik View Form, select the Qucik View Form just created. Save and close. Finally publish all customizations.

The effect is as follows. We can see the discount list of the Account on the Opportunity form.

If you want to automatically fill in the "Manual Discount" field based on Account and Product when creating the Opportunity Line, then we will use Flow.