Heat the grill to high. Grill dogs until golden brown on all sides, about 7 minutes.
Remove to a plate. Place buns on the grill cut side down and grill until lightly golden brown, about 20 seconds.
Heat the oil over medium-high heat in a heavy-bottomed medium saucepan. Add the onions and cook until soft, 3 to 4 minutes. Add the garlic and cook for 1 minute.
Add the tomatoes and water, bring to a boil and simmer for 10 minutes. Add the remaining ingredients and simmer for an additional 30 to 40 minutes until thickened, stirring occasionally.
Transfer the mixture to a food processor and puree until smooth, season with salt and pepper, to taste. Pour into a bowl and allow to cool at room temperature. The sauce will keep for 1 week in the refrigerator stored in a tightly sealed container.
Whisk together the mayonnaise, onion, sugar, celery salt, vinegar and salt and pepper in a large bowl. Add the cabbage and carrot and stir to combine, season with more salt and pepper, if needed. Let sit at least 15 minutes before serving.
Place hot dogs in the buns and brush dogs with BBQ sauce, top with coleslaw and pickle.