MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

The answer (to both questions (a) and (b)) is YES (assuming $B$ is a smooth manifold). A proof can be found on Walschap's book "Metric Structures in Differential geometry", p. 77, Lemma 7.1.
For the OP's convenience, here's a sketch of the proof. Choose an open cover of $B$ such that your vector bundle is trivial over each element. From general results in topology, this (and in fact any) cover of an $n$-dim manifold $B$ admits a refinement $\{ V_\alpha\}_{\alpha\in A}$ such that any point in $B$ belong to at most $n+1$ $V_\alpha$'s. Let $\{\phi_\alpha\}$ be a partition of unity subordinate to this cover and denote by $A_i$ the collection of subsets of $A$ with $i+1$ elements. Given $a=\{\alpha_0,\dots,\alpha_i\}\in A_i$, denote by $W_a$ the set consisting of those $b\in B$ such that $\phi_\alpha(b)\lt\phi_{\alpha_0}(b),\dots,\phi_{\alpha_i}(b)$ for all $\alpha\neq\alpha_0,\dots,\alpha_i$. Then the collection of $n+1$ open subsets $U_i:=\cup_{a\in A_i} W_a$ covers $B$ and is such that your bundle restricted to each $U_i$ is trivial.
The answer is YES (assuming $B$ is a smooth manifold). A proof can be found on Walschap's book "Metric Structures in Differential geometry", p. 77, Lemma 7.1.
For the OP's convenience, here's a sketch of the proof. Choose an open cover of $B$ such that your vector bundle is trivial over each element. From general results in topology, this (and in fact any) cover of an $n$-dim manifold $B$ admits a refinement $\lbrace{V_\alpha\rbrace}_{\alpha\in \{ V_\alpha\}_{\alpha\in A}$ such that any point in $B$ belong to at most $n+1$ $V_\alpha$'s. Let $\{\phi_\alpha\}$ be a partition of unity subordinate to this cover and denote by $A_i$ the collection of subsets of $A$ with $i+1$ elements. Given $a=\{\alpha_0,\dots,\alpha_i\}$$\in a=\{\alpha_0,\dots,\alpha_i\}\in A_i, denote by W_a the set consisting of those b\in B such that \phi_\alpha(b)<\phi_{\alpha_0}(b),\dots,\phi_{\alpha_i}(b) \phi_\alpha(b)\lt\phi_{\alpha_0}(b),\dots,\phi_{\alpha_i}(b) for all \alpha\neq\alpha_0,\dots,\alpha_i. Then the collection of open subsets U_i:=\cup_{a\in A_i} W_a covers B and is such that your bundle restricted to each U_i is trivial. 1 The answer is YES (assuming B is a smooth manifold). A proof can be found on Walschap's book "Metric Structures in Differential geometry", p. 77, Lemma 7.1. For the OP's convenience, here's a sketch of the proof. Choose an open cover of B such that your vector bundle is trivial over each element. From general results in topology, this (and in fact any) cover of an n-dim manifold B admits a refinement \lbrace{V_\alpha\rbrace}_{\alpha\in A} such that any point in B belong to at most n+1 V_\alpha's. Let \{\phi_\alpha\} be a partition of unity subordinate to this cover and denote by A_i the collection of subsets of A with i+1 elements. Given a=\{\alpha_0,\dots,\alpha_i\}$$\in A_i$, denote by $W_a$ the set consisting of those $b\in B$ such that $\phi_\alpha(b)<\phi_{\alpha_0}(b),\dots,\phi_{\alpha_i}(b)$ for all $\alpha\neq\alpha_0,\dots,\alpha_i$. Then the collection of open subsets $U_i:=\cup_{a\in A_i} W_a$ covers $B$ and is such that your bundle restricted to each $U_i$ is trivial.