Does every vector bundle allow a finite trivialization cover? Suppose there is a vector bundle  (smooth, with constant rank finite-dimensional fibres) over a (smooth, second-countable, Hausdorff, not necessarily connected) manifold $B$ of dimension $n$.
(a) Is it true, that the manifold B can be covered by a finite number of sets $U_1,\dots,U_N$ s.t. the vector bundle, restricted to $U_i$, is isomorphic to a trivial one for every $i=1,\dots,N$?
(b) If yes, can $N$ be taken to be $n+1$?
P.S. Some observations:


*

*It's proven in the book by Milnor and Stasheff, that every bundle allows a countable locally finite trivialization cover.

*Part (a) is obviously trivial for compact manifolds.

*It seems, that (b) is true if $B$ is an $n$-dimensional CW-complex. Proof: Denote with $B_k$ union of cells of dimension $0,\dots,k$. Prove by induction in $k$, that there are subsets $U_0,\dots,U_k$ of $B$, which cover $B_k$, s.t. the restriction of the bundle to each of them is trivializable. Start with case $k=0$: construct contractible neighbourhoods of each 0-cell, which do not intersect with each other. Take there union. Now to prove the claim for the next value of $k$ it is enough to construct a contractible non-intersecting neighbourhoods of each $X_\alpha=e_\alpha\setminus (U_0\cup \dots\cup U_{k-1})$. Call the desired neighbourhood with $V_\alpha$. First, note, that $X_\alpha$ is closed in $e_\alpha^k$ and doesn't intersect with its boundary $\partial e_\alpha^k$, so we can find its neighbourhood in $e_\alpha^k$, which doesn't intersect with $\partial e_\alpha^k$. This set is our candidate for $V_\alpha\cap B_k$. Extending it to an open set in $B_{k+1}$ can be done cell by cell: interpreting $e^{k+1}_\beta$ as a unit ball with the center in the origin, we can write every its point as $r\theta$, where $\theta\in S^k$ and $r\in [0,1]$. We include $r\theta$ in $V_\alpha\cap B_{k+1}$ iff $\theta$ is already there and $r>0.99$. Repeating this procedure we extend it to $B$.


Edit: Open sets $U_1,\dots, U_N$ are assumed to be open. I don't ask them to be connected.
 A: From the reference above (Walschap's "Metric Structures in Differential geometry") it seems that, in order to construct the classifying map to a suitable Grassmannian $G(\mathbb{R}^N,k)$, where $k$ is the rank of your bundle $E$, one needs the existence of a finite trivializing cover.
Personally, I believe that such a perspective can be reversed, i.e., first construct a classifying map and then use it to prove the existence of a finite trivializing cover. Indeed, the classifying map can be constructed just by using the Gauss map associated with a Whitney embedding $E\subseteq\mathbb{R}^N$. Namely, the base manifold $M$ is embedded into $E$ via the zero section, and attached to any point $x$ of $M$ there is the vertical tangent space (i.e., the subspace of $T_xE$ tangent to the fiber through $x$). Apply then the Gauss map to this vertical tangent space, and you'll get an element of $G(\mathbb{R}^N,k)$. Since any bundle over $G(\mathbb{R}^N,k)$ admits a finite trivializing cover, so will any bundle pulled-back from it.
A: I think what you're looking for (or rediscovering) is the concept of the Lusternik-Schnirelman category of a space - the minimum number of contractible open sets needed to cover the space.  More precisely, you need the maximum LS-category of the components of your space.  
A: (a) and (b) are also true for topological manifolds of dimension $n$, see pages 17-21 of 


*

*MR0336650  Greub, Werner; Halperin, Stephen; Vanstone, Ray: Connections, curvature, and cohomology. Vol. I: De Rham cohomology of manifolds and vector bundles. Pure and Applied Mathematics, Vol. 47. Academic Press, New York-London, 1972.

A: I wonder that this was not said before.
Take a triangulation of your manifold. Choose disjoint open balls around each 0-cell in the triangulation and set the union to be $U_0$ (a ball means here something diffeomorphic to an open ball). 
For each 1-cell, choose an open ball such that together with the balls chosen before around the corners, the 1-cell is completely covered, and choose those balls to be disjoint. Take the union of those to be $U_1$.
Keep on going in the same way, until you reach the $n$-cells. 
Now you have $n+1$ sets $U_0, \dots, U_n$, each consisting of disjoint unions of open balls and such that $U_0 \cup \dots \cup U_j$ covers all cells of dimension less or equal to $j$. In particular, the union of all these sets covers your manifold.
Your vector bundle must be trivial on each of the sets $U_j$, as each are disjoint unions of open balls.
A: 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.
A: This should be a comment to the answer of Andreas Blass, but was too long.
The Lusternik-Schnirelmann category $\operatorname{cat}(X)$ of a space $X$ is the smallest number $k$ such that $X$ has a cover by open sets $U_1,\ldots , U_k$ which are contractible in $X$. This means the inclusions $U_i\hookrightarrow X$ are null-homotopic. Note that the $U_i$ need not be contractible themselves, or even connected (although each $U_i$ should be contained within a connected component $X_i$). Note also that $\operatorname{cat}(X)$ is greater than or equal to the minimum number of open sets needed to trivialize any vector bundle on $X$, by the bundle creeping lemma and the fact that any bundle over a point is trivial. 
One of the first theorems about LS-category is that if $X$ is paracompact, then $\operatorname{cat}(X)\le \operatorname{dim}(X)+1$, where $\operatorname{dim}$ denotes the Lebesgue covering dimension (which for manifolds agrees with the usual dimension). So Andreas Blass is correct.
If you want the minimum number of sets in a trivializing cover for your bundle $E$, you can do better, using the notion of sectional category of a fibre bundle (also known as the Schwarz genus). The sectional category $\operatorname{secat}(p)$ of a fibre bundle $p\colon\thinspace E\to B$ is the smallest number $k$ such that $B$ has a cover by open sets $U_1,\ldots , U_k$ on each of which $p$ admits a continuous local section (that is, a continuous map $s\colon\thinspace U_i\to E$ such that $p\circ s =\operatorname{incl}\colon\thinspace U_i\hookrightarrow B$). 
Then the minimum number of sets in a trivializing cover for the vector bundle $E\to B$ equals the sectional category of the frame bundle $F(E)\to B$.
Addendum: One can show using obstruction theory that for a $r$-connected manifold $B$, 
$$\operatorname{cat}(B)< \frac{\dim(B)+1}{r+1}+1.$$ 
So if, say, your manifold is simply-connected, you can find a trivializing cover with roughly half as many sets.
