I am able to find out what is generally cheap in specific places, and where items are generally in demand. But the honest truth is that none of it helps as much as I would like. The AI merchants are playing the same game and prices are rapidly changing.
For example. Dates are nonexistent across the whole map, to be found exclusively in Aserai (with one village in Western Empire). You're almost guaranteed to find cheap dates down south, but there is no guarantee you will find a 'perfect buyer' because the AI merchants have already sold dates to them, decreasing the demand. You might get lucky every now and again and find a town that has no dates and thus demands them. But it's all about luck and chance. A town demands specific items, and you either make it there with those items first and profit, or one of the many AI merchants beat you to it.
Conducting trade between two or three towns at a time is probably a better option in the long run, because you can see what the towns are demanding, grab it from a nearby town, and deliver it before the AI merchants are able to beat you there. Another user made a guide for this approach and it is worth a look. It was very doable for me as soon as I opened up a campaign, trading between Zeonica and Poros.