The main idea: Once you have a Merchant of Venice lying around, you should puppet city-states whenever puppeting is more useful than having an ally. Since a Merchant of Venice can get +60 influence + a nice chunk of gold, they can go from zero to ally with a city-state (assuming you spend some of that gold to push your influence further over 60). Your default choice should be to puppet a useful city, because having more cities means more Science, more Gold, more Faith, and often more Culture. Allies, on the other hand, only give you their Ally bonus and World Congress votes, plus any bonuses you've racked up in the Patronage social policy tree (you'll get the luxury/strategic goods anyway if you puppet). That said, Venice is often very happy to follow the Patronage social policy, regardless of whether you're going for a diplomatic victory or not. All of those extra trade routes mean that Venice is wealthy indeed, and will be happy to purchase the loyalty of city-states.
You should use the Merchant of Venice as soon as possible, unless you can, right now, think of a specific better use for one within the next dozen-ish-on-Quick turns. Gold, allies, and cities are worth more the sooner you get them; if you have a financial turn of mind, think of your Merchant as a depreciating asset.
If you can't afford the happiness penalty from another city (or it leaves you with too small of a margin of happiness), you should obviously use the Merchant to ally a city-state, preferably one with two or more luxuries or strategic goods you're missing, and is a type that you like.
If you're in the market for a new city, you should aim for a city near your current empire, unless a distant city is significantly more useful. If you like the trading options of the cities in your empire, then the new city will have the same trading options and you will be able to make similar amounts of money from it. If you're trying to squeeze every last penny out of trade routes, you should consider how much it will cost you, in per-turn unit maintenance fees, to build the extra defensive units that a distant city will require. (Defending a city from a determined army takes 3-5 ranged units, whose costs will add up!) You may also miss out on the city-connection gold, if the new city is land-locked and you cannot build a road to it (or the road will be too long to be profitable!).
For the most part, maximizing the size of your trade network is not important. You will have the same number of routes either way, and you can always double-up or triple-up the routes going to a particular foreign city if it's profitable enough. (You can't have multiple routes from City A to City B, but you can have a route from A->B, C->B, and D->B.)
I can only think of three cases where puppeting a distant city-state is advantageous. In all three cases, you will need to make sure you are not concerned about being attacked, on top of any other considerations.
- One of your rival civilizations is allied to it, with some ridiculous amount of Influence, and you want to reduce this particular civ's number of World Congress votes or happiness.
- You are aiming for a Cultural victory, already have a sizable Tourism output, and a distant city-state will allow you to gain a trade route with the most-cultural civilization (that is, the one that's going to be the hardest for you to become influential over).
- You're launching an invasion on a distant civilization, and you need a beachhead where you can station bombers, heal units, and purchase new units if it doesn't go well. You have also decided that just having the city-state as an ally isn't good enough or isn't affordable. (As a bonus, having this city next to them means you can predict where they're likely to attack.)