Although $\mathscr C^\infty_p$ does not have a vector space structure, it comes close to a vector space. Let us write the elements of $\mathscr C^\infty(U)$ in the form $(f,U)$ to emphasize that $f$ lives on $U$. Then
$$\mathscr C^\infty_p = \bigcup_U \mathscr C^\infty(U) .$$
An addition on $\mathscr C^\infty_p$ is defined by
$$(f,U)+(g,V)= (f|_{U\cap V}+g|_{U\cap V},U\cap V) .$$
This gives us a natural structure of an abelian monoid. The two-sided identity element is $(0_M,M) \in \mathscr C^\infty(M)$, where $0_X: X \to \mathbb R, 0_X(x) = 0$. The only elements which have an inverse are those in $\mathscr C^\infty(M)$.
Clearly the scalar multiplication on the $\mathscr C^\infty(U)$ gives us a natural scalar multiplication on their union. Explicitly it is given by
$$a(f,U)= (af,U) .$$
Thus we get an algebraic structure which comes close to a vector space; all vector space axioms except the existence of additive inverses are satisfied.
A special feature of $\mathscr C^\infty_p$ is that each $(f,U) \in \mathscr C^\infty(U)$ has a lot of "individual two-sided identity elements": These are the elements $(\zeta,V) \in \mathscr C^\infty(V)$ with $U \subset V$ and $\zeta \mid _U = 0_U$ which have the property $(f,U) + (\zeta,V) = (\zeta,V) + (f,U) = (f,U)$. In particular $(0_V,V)$ is a "local identity" on $\bigcup_{U \subset V}\mathscr C^\infty(U)$. Also note that all $(f,U) \in \mathcal C^\infty_p$ have a "near inverse"; this is the map $-(f,U) = (-f,U)$. In fact, $(f,U) + (-f,U) = (0_U,U)$.
It is now an obvious idea to make all elements of $\mathscr C^\infty_p$ invertible by declaring all local identities $(0_U,U)$ to be equivalent. What does this mean?
The set $I^\infty_p \subset \mathscr C^\infty_p$ of all local identities forms a "linear subspace" of $\mathcal C^\infty_p$ in the sense that it closed under addition and scalar multiplication, and also contains to global identity $(0_M,M)$. In fact we can write $I^\infty_p = 0 \cdot \mathcal C^\infty_p$. A sort of quotient
$$\mathscr C^\infty_p / I^\infty_p$$
can be defined by declaring $(f,U)$ and $(g,V)$ to be equivalent, $(f,U) \sim (g,V)$, if there exists $\omicron \in I^\infty_p$ such that $(f,U) + \omicron = (g,V) + \omicron$. It is easy to verify that this in fact an equivalence relation on $\mathscr C^\infty_p$ and that $(f,U) \sim (g,V)$ if and only if $f \mid_W = g \mid_W$ for some $W \subset U \cap V$, i.e. $(f,U)\sim_p(g,V)$ as defined in your question. Also observe that $I^\infty_p$ is contained in the equivalence class of $(0_M,M)$. Actually $[0_M,M] =\{ (f,U) \mid f \mid_W = 0_W \text{ for some } W \subset U\}$.
Therefore we get the desired description
$$C^\infty_p = \mathscr C^\infty_p / I^\infty_p .$$
This is not a quotient of two vector spaces, but it comes very close to it. Moreover, it has the benefit of explaining the origin of the equivalence relation $(f,U)\sim_p(g,V)$.
Remark: Here is a more sophisticated approach.
Let $\mathcal U_p$ denote the set of all open neigborhoods of $p$ in $M$. On $\mathcal U_p$ define $U \le V$ if $V \subset U$. Then $\mathcal U_p$ becomes a partially ordered directed set. If $U \le V$, then the inclusion map $i_{UV} : V \to U$ induces a natural linear map $i_{UV}^* : \mathcal C^\infty(U) \to \mathcal C^\infty(V), i^*(f,U) = (f \circ i,V) = (f \mid_{V},V)$. The collection $(\mathscr C^\infty(U), i_{UV}^*)$ is a directed system of vector spaces and linear maps. It has a direct limit
$$\mathscr C^\infty_p = \varinjlim (\mathscr C^\infty(U), i_{UV}^*) $$
which is again a vector space. An explicit construction of $\varinjlim (\mathscr C^\infty(U), i_{UV}^*)$ is this:
Take the disjoint union of all $\mathscr C^\infty(U)$. Since they are pairwise disjoint, this disjoint union is nothing else than $\mathscr C^\infty_p = \bigcup_U \mathscr C^\infty(U)$. On this set introduce an equivalence relation via $(f,U) \sim_p (g,V)$ if $i_{UW}^*(f,U) = i_{VW}^*(g,V)$ for some $W \ge U,V$. This equivalence relation is precisely that considered in your question.