Heat the olive oil in a deep skillet over medium heat. Add the onion and season with a generous amount of salt and black pepper. Cook for 5-6 minutes or until the onions are fragrant and tender. Add the crushed garlic and cook for an additional minute. Stir in the tomato paste and curry paste. Continue stirring until the pastes darken, about 2-3 minutes. Whisk in the coconut milk, chicken broth and granulated sugar. Bring the broth to a low boil, and then reduce to a simmer. Cook for an additional 20 minutes or until the flavors have melded and the broth has reduced. Adjust seasoning to taste.
Season the halibut fillets with salt and place them directly in the broth. Spoon some of the broth over the halibut. Cover and poach the halibut for 7-8 minutes or until cooked to medium-rare or other desired temperature (this will depend on the thickness of your fish). Halibut overcooks quickly and dries out. Keep an eye on it as it cooks. It should flake easily with a fork when done. Remove the halibut from the broth with a spatula and transfer to a plate. Stir in the green onions, cilantro and lime juice. Remove from heat.
Spoon the broth into 4 shallow bowl and place a piece of halibut on each plate. Garnish with fresh cilantro and green onions and serve with rice.