1) Heat the oil in a heavy large skillet over medium heat. Add the celery and saute until crisp-tender, about 2 minutes. Add the aubergine and saute until beginning to soften, about 2 minutes. Season with salt.
2) Add the red pepper and cook until crisp-tender, about 5 minutes. Add the onion and saute until translucent, about 3 minutes. Add the diced tomatoes with their juices, sultanas and oregano. Season with salt and pepper, to taste.
3) Simmer over medium-low heat until the flavours blend and the mixture thickens, stirring often, about 20 minutes. Add the vinegar, sugar and capers. Season with salt and pepper, to taste.
4) Cut the bread pieces horizontally in half. Griddle the bread cut-side down on a griddle pan over medium-high heat until golden, about 2 minutes. Rub the whole garlic cloves over the toasted side of the bread.
Add a slice of mozzarella to the bread bottom, spoon the caponata on top, cover with the other bread half and serve.
To take for a picnic: Wrap the sandwiches separately in cling film or parchment paper. Chill until ready to serve, or keep at room temperature for up to 1 hour.