The AI doesn't usually go for VPLs. If you want an alternative to cities, try placing a decoy unit there instead: Make a unit called "Victory Location" or something that makes sense (although it won't actually give VPs unless you make that tile a VPL too), and give it these stats- 0 attack/defense, Hidden Nationality, Immobile, no disbanding.
You can even use a blank animation so it doesn't look like anything but a VP location- there is a blank FLC animation in the units forum called Invisible Man, I think. If you want to do that read a tutorial on adding units to the game.
Anyway, the decoy will work like this: Place one on each VP tile or location that you want the AI to attack, belonging to the barbs. The AI will try to attack it because it is HN, and thinks it is a barb regardless because they don't know who it belongs to (I would actually make it a barb in this case so that the AI will take the bait regardless of which side you are playing) The catch is, the unit CANNOT be captured or destroyed because of the 0 defense/HN combination. When an enemy unit enters the tile, it will simply remain there unaffected as if it's in a stack with units from its own civ. The AI, of course, doesn't catch on to this and continues trying to capture it. The result is that the AI will attack that tile, even when there are no other units present. This isn't a perfect solution, because the AI may be less likely to attack if your unit is there, but that may add some realism. The combination of the decoy and VPL on the same tile should provide enough incentive for both the AI and a human player to try to control those tiles.
I hope that all made sense. If you have any questions or need help implementing this in your scenario, just ask.
edit: you can even change the names of decoys to match the name of their location, so when you right-click on a VP tile you see its name.