Place the annatto in a small saucepan, cover with a small cupful of cold water, bring to the boil then simmer over low heat for 20 minutes. Remove from the heat and allow the seeds to steep for a few hours then drain them in a colander, reserving the liquid.
Preheat the oven to 200C/gas 6. Place the garlic and onion in a small roasting tin and roast for 45 minutes or until soft. Transfer to a plate, allow to cool, then remove the garlic skins. Roughly chop the garlic and onion on a wooden board.
Place the garlic and onion mixture in a food processor with the drained annatto, allspice, coriander seeds, cinnamon, cumin seeds, oregano, saffron, chilli powder and 1 tablespoon of sea salt and blend to a rough paste. Add the orange and lime juice, cider vinegar and about 4 tablespoons of the reserved annatto liquid then blend briefly again to combine. Transfer the mixture to a large nonreactive bowl.
Place the pork chops in the marinade, cover with clingfilm and marinate for 3–4 hours or overnight in the refrigerator.
Remove the pork chops from the fridge and bring to room temperature. Preheat a barbecue or cast-iron griddle pan to a medium heat. Cook the pork chops, turning once, for 6–10 minutes each side depending on thickness, occasionally adding some more marinade with a brush during cooking. When done, move the pork chops to a board and leave them to rest for a couple of minutes.
For the onion rings, place the flour and chilli powder in a large bowl, season well and mix to combine.
Very carefully heat the oil in a large saucepan to 180C (always be alert when deep-frying). Place the onion slices, in batches, in the flour and coat well. Shake off the excess flour and carefully lower the onion slices into the oil. Cook for 1–2 minutes, in batches, until golden brown. Remove with a slotted spoon, then drain on kitchen paper and keep them warm while you cook the remaining onions.
Transfer the onions to a bowl and serve with the pork chops, whole or cut up.