Soak 20 skewers in a pan of water for 30 minutes.
In a medium bowl, stir together garlic and ginger. Transfer half of the mixture to a large bowl and stir in 2 tablespoons oil. Add the shrimp, toss until evenly coated, and then cover and refrigerate for 30 minutes. Cover remaining garlic-ginger mixture and refrigerate.
Heat grill to hot; lightly oil grates. In a medium bowl toss plum and green tomatoes with remaining tablespoon oil; season with salt and pepper. Grill tomatoes, cut side up, until skins are charred and flesh is tender, 4 to 6 minutes for the plum tomatoes, 8 to 10 minutes for the green tomatoes (if the green tomatoes are very hard, this may take longer). Be careful as you grill, as the juice from the tomatoes and the oil on their surface may cause flare-ups.
When tomatoes are cool enough to handle, remove and discard skins and seeds. Finely chop flesh and add to bowl with reserved garlic-ginger mixture. Add lime juice, jalapeno, sugar, cilantro, and basil.
Season shrimp with salt and pepper. Thread shrimp, lengthwise, onto prepared skewers (going through tail and top of shrimp), one shrimp per skewer. Grill until shrimp are opaque throughout, about 2 minutes per side.
To serve, place skewered shrimp on a platter with a bowl of the relish.