Line a tray with paper towels. Cut tofu into six 1/2-inch-thick slices. Arrange tofu on prepared tray. Top with more paper towels; cover with a baking sheet. Evenly weigh down the baking sheet with several cans or weights. Let stand for 10 minutes. Change paper towels and repeat. Place tofu in a dish and generously coat both sides with canola oil.
For teriyaki sauce, in a small bowl whisk together hoisin sauce, 2 tablespoons of the soy sauce, the ginger, and 1 teaspoon of the chili-garlic sauce.
For a charcoal or gas grill, grease grill rack well. Place tofu on the grill rack directly over medium heat. Cover and grill for 3 to 4 minutes or until brown and tofu releases easily from the rack. Turn tofu over. Cover and grill for 3 minutes more. Brush tofu with some of the teriyaki sauce. Turn and brush again. Cover and grill for 3 minutes more, turning once halfway through grilling. Transfer tofu to a plate; cover and keep warm. Set aside remaining teriyaki sauce.
Meanwhile, fill a 4-quart Dutch oven half full with water; bring to boiling. Add udon noodles; cook for 2 minutes. Drain.
In the same Dutch oven whisk together broth, peanut butter, the remaining 2 tablespoons soy sauce, and the remaining 1 teaspoon chili-garlic sauce until smooth. Bring to boiling; reduce heat to medium. Add noodles, stirring to coat. Stir in spinach; cook for 2 to 3 minutes or until wilted. Remove from heat; stir in sesame oil. Serve with grilled tofu, tomatoes, and green onions. Pass remaining teriyaki sauce.