If the problem you are solving is in $P$, I guess you can construct a branch-and-bound algorithm that only produces a polynomial number of nodes, since you can use your polynomial time algorithm to make a perfect prediction which branch to explore first, and produce perfect bounds that allow you to prune away every node in the tree except the ones that lead to the optimal solution. But in practice, you would not even bother with branch-and-bound in those cases.
I know there are papers on a technique called measure and conquer, which is used to obtain tighter bounds on the number of nodes in a branch-and-bound tree of $NP$-complete problem than the trivial $b^n$ where $b$ is the number of branching decisions you can make at each step an $n$ is the depth of the tree. Typically, these papers obtain results of the kind: problem X can be solved in $O^*(c^n)$ where typically $1<c\leq b$ and $O^*$ is similar to the common $O$ but also ignores polynomial factors. Some proofs may show that $c$ is a lower number if the instance has certain properties (e.g. bounded degree).
Similarly, there are sophisticated branching algorithms that have been analyzed with other techniques. For the Maximum Independent Set problem, Wikipedia currently lists a reference that can solve this problem in $O(1.1996^n)$ time for general graphs and $O(1.0836^n)$ time if a graph has maximum degree three.
I don't think branch and bound can reduce to a polynomial tree for $NP$-hard problems (if you don't use a super-polynomial algorithm to obtain bounds). Since branch and bound is ultimately a clever enumeration technique, I don't think it is often useful when a problem's structure is so well understood that you can solve it in polynomial time. In those cases you typically employ a greedy, dynamic programming or divide and conquer approach. I am also not aware of any approximation results, although they might exist as I am not that familiar with everything that is happening in the analysis of exponential time and/or approximation algorithms.