Start by thoroughly cleaning the pompano fish. Score the skin on both sides with diagonal cuts. Season the fish generously with salt and ground black pepper, making sure to season the inside cavity too.
Heat enough oil in a wok for shallow frying over medium-high heat. Once hot, carefully place the fish and fry until golden brown and crispy on both sides, about 5-7 minutes per side. Remove the fish and set aside.
Pour out most of the oil, leaving about 3 tablespoons in the wok. Add minced garlic, sliced shallots, and minced ginger. Sauté over medium heat until fragrant and shallots are softened, about 2-3 minutes.
Add the chopped tomatoes and cook until they start to soften, about 4 minutes. If using bilimbi (kamias), add them now and gently mash with your spoon as they cook.
Pour in 1½ cups of water and bring to a boil. Lower the heat, cover the wok, and let it simmer for 3 minutes. If you're using bilimbi, give it an extra 3 minutes of simmering to extract more sourness.
Place the fried fish back into the wok. If you're using tamarind powder or calamansi juice instead of bilimbi, add it now. Let everything simmer on low heat for 5 minutes.
Carefully flip the fish over and continue simmering for 2 more minutes. Taste the broth – if it's too sour, add a little water. Season with fish sauce and more black pepper if needed.
Add the chopped spring onions and simmer for a final 2 minutes. Turn off the heat and let it rest for 2-3 minutes before serving.
Serve hot with steamed rice. Place extra fish sauce, chopped chilies, and calamansi on the side so everyone can adjust the flavors to their taste.
Note: You can control the sourness by adjusting the amount of souring agent (bilimbi, tamarind powder, or calamansi) to your preference. The broth should be more concentrated and less soupy than sinigang.