Solution 1:

  1. No, this does not follow. For instance you can take any nontrivial stable vector bundle $E$ on $\mathbb{P}^2$ with $c_1 = 0$. Then for generic line $L$ the restriction $E\vert_L$ is trivial by Grauert-Mulich theorem. On the other hand, if $E\vert_U$ is trivial for some open neighborhood of $L$, then the complement of $U$ is zero-dimensional, hence the isomorphism $E\vert_U \to \mathcal{O}_U^r$ extends (via the pushforward along the inclusion $U \to \mathbb{P}^2$) to an isomorphism $E \to \mathcal{O}_{\mathbb{P}^2}^r$.

  2. Assume $F$ is torsion-free and let $E = F^{\vee\vee}$ be its reflexive hull. Then $E$ is locally free, the natural morphism $F \to E$ is injective, and the cokernel is supported on a zero-dimensional scheme. Thus, we have an exact sequence $$ 0 \to F \to E \to Q \to 0 $$ with $E$ locally free and zero-dimensional $\operatorname{supp}(Q)$. If the line $L$ intersects the support of $Q$, then $Tor_1(\mathcal{O}_L,Q) \ne 0$, hence $F\vert_L$ is not locally free. Thus, the intersection is empty, hence $F\vert_L \cong E\vert_L$. Since $E$ is locally free, we conclude that $c_1(E) = 0$. On the other hand, since the support of $Q$ is zero-dimensional, it does not affect $c_1$, hence $c_1(F) = c_1(E) = 0$.

Bonus question: Any torsion-free sheaf on a smooth surface can be obtained from an exact sequence as above.