Question:
Let $E \to M $ be a vector bundle of rank $k$. Suppose that for each $p \in M $ we are given a subspace $E'_p$ of $E_p$ and consider the set $\displaystyle E' = \bigcup_{p \in M} E'_p $.
Show that $E'$ is the total space of a rank $l$ subbundle if and only if for each $p\in M$ there is an open set $U$ of $p$ on which smooth sections $\sigma_1, \ldots, \sigma_l$ are defined such that for each $q \in M$ the set $\{\sigma_1(q), \ldots, \sigma_l(q)\}$ is a basis of the subspace $E'_q$.
Attempt of proof:
($\implies$) Suppose $E'$ is the total space of a rank $l$ subbundle then for every $p \in M$ there exists a VB-chart such that
$$\phi (\pi^{-1}(U) \,\,\cap\,\,E' ) = U \times V' \subseteq U \times V$$
This rises a chart of the triple $(E', \pi|_{E'}, M, V')$ if we define the $\phi'$ as $\phi|_{\pi^{-1}_{E'}(U)}$ (the restriction of $\phi$ to $\pi^{-1}_{E'}(U)$), where $\pi^{-1}(U) \cap E' = \pi^{-1}|_{E'}(U)$ and such that the following diagram commutes
$$\require {AMScd} \begin{CD}\pi^{-1}(U) \cap E' = \pi^{-1}|_{E'}(U) @>\phi'>> U \times V' \subseteq U \times V\\@V \pi|_{E'} VV @VVpr_1V\\U @>>id >U\end{CD}$$
Let $\{e_1, \ldots, e_l\}$ be a basis of $V'$. Since $\phi$ is a diffeomorphism we maydefine the sections of $E'$ as
$$\sigma_j (q) = \phi^{-1} (q, e_j) \, \, , j = 1, \ldots, l , \forall q \in U $$
Now the inclusion $\iota_j : U \to U \times V' $, $\iota_j (x) = (x, e_j)$ is a section of $U \times V'$ since $pr_1 \circ \iota_j = id_U$ and as $\phi' $ is a bundle isomorphism then $\sigma_j$ are sections of $E'$. Since the vectors $(q, e_j)$ form a basis of $\{q\}\times V'$ and $\phi'$ is an isomorphism then $\{\sigma_1(q), \ldots, \sigma_l(q)\}$ is a basis of $E'_q$, ( notice that $\sigma_j(q) \in E'_q, \forall j$) for each $q$ as wanted.
($\Longleftarrow$) Suppose there exists an open neighborhood $U$ of $p$ (taken arbitrarily) such that for each $q \in U$ the set $\{\sigma_1(q), \ldots, \sigma_l(q)\}$ is a basis of the subspace $E'_q$.
Define $\phi' : U \times V' \to E' \cap \pi^{-1}(U)$ by $\phi' (q, c_1, \ldots, c_l) = \displaystyle \sum_{j=1}^l c^j\sigma_j(q)$. As $\sigma_j$ are smooth then $\phi$ is smooth.
We have that $\pi(\phi'(q,c)) = q = pr_1 (q,c)$ and the restriction of $\phi'$ to $\{q\} \times V'$ is linear. Since $\sigma_1(q), \ldots, \sigma_l(q)$ are linearly independent the homomorphism $\phi'$ is injective and thus an isomorphism on each fiber.
We conclude that $\phi$ is a bundle isomorphism and $$\phi'^{-1}(E' \cap \pi^{-1}(U)) = U \times V'$$
and therefore $E'$ is a total space of a rank $l$ subbundle.
I would like to check if this is correct.
Do I have to show that $E'$ is a submanifold of $E$?
The proof basically looks fine to me. However, in the second part, you have not really shown that $E'$ is a smooth subbundle of $E$ but only that $E'$ is a vector bundle of rank $\ell$.
To prove that $E'$ is a subbundle, you should complete the sections $\sigma_1,\dots,\sigma_\ell$ to a local frame for $E$. To do this, just use a vector bundle chart $\psi$ for $E$ and for some point $x$, complete $\psi(\sigma_1(x)),\dots,\psi(\sigma_\ell(x))$ to a basis of $V$, say using vectors $v_{\ell+1},\dots, v_n$. Then for $i=\ell+1,\dots,n$ define $\sigma_i(y)$ as $\psi^{-1}(y,v_i)$ on the domain of $\iota$. Then you obtain local smooth sections $\sigma_1,\dots,\sigma_n$ whose values at $x$ form a basis for the fiber $E_x$. Hence there is an open neighbourhood $U$ of $x$ such that the values in each $y\in U$ form a basis for $E_y$. Then as in your proof you can construct a vector bundle chart for $E$ on $U$ in which $E'$ corresponds to a linear subspace.