Make a marinade for the ribs by mixing all the ingredients except for the sauce ingredients in a bowl. Rub the ribs generously with the marinade. Allow to marinade for at least an hour, preferably overnight.
Make the sauce: Heat oil in a pot over medium heat. Saute the onion and garlic until translucent. Then, add the tequila. Cook down until liquid is almost gone. Then add the rest of the ingredients, except cilantro and scallions. Bring up to a simmer and stir well. Cook for at least an hour over low heat until the tomatoes have completely broken down and all the flavors are blended. Pure in a blender, then adjust seasonings and fold in cilantro and scallions. You can make the sauce ahead of time or while the ribs are cooking.
Cook the ribs: Preheat a grille or smoker to high heat. Mark the ribs to get a nice color on them. Then, wrap them in foil and return to grille or smoker. Allow them to cook for at least 3 to 4 hours over low heat (about 200 degrees). Remove them from the foil and cook for another hour to create a nice crust. Brush them with some of the sauce and cook for another 20 to 30 minutes. Check the tenderness of the ribs before saucing them, though. They should pull apart easily. If not, give them more time. Remove from heat. Allow them to cool for about 25 minutes, then cut and serve. You could also chill them, cut them, and then reheat wrapped in foil if you want to make ahead of time.