I think it should be possible, though it may take a function exposed to Python to do so, in which case just let me know and I'd be happy to try to provide it, to make it select the strongest trade partner city (the one that is currently giving the biggest trade commerce). Of course, we'd still need to filter to keep that selection to the first two conditions you mentioned there. The rest would already naturally filter by the fact that you must have certain conditions to be trading with that city in the first place.
Now... this does mean that the city COULD end up being one of your own if you don't have any foreign trade partners, but I believe its the least likely unless you are on a civic that limits you as such. I believe Foreign trade partners gain a commerce bonus for being foreign at all and I also think that not only size of the city but distance also increases the strength of that partner. So all that said, I think that'd be the best way for it to select the city to build a road to.