The proof that you can "solve for $X$ "is actually a rather simple extension of a linear algebra fact, which is why I'll treat the vector space case closely. Let's recall what non-degeneracy means.
Definition.
Let $V$ be a finite-dimensional vector space over $\Bbb{R}$, and let $\omega:V \times V \to \Bbb{R}$ be bilinear (and skew-symmetric... but this isn't really necessary). We say $\omega$ is non-degenerate if the map $\omega^{\flat}:V \to V^*$ defined by
\begin{align}
\omega^{\flat}(x):= \omega(x, \cdot) \equiv \iota_x \omega \equiv \bigg( y \in V \mapsto \omega(x,y) \in \Bbb{R}\bigg) \in V^*
\end{align}
is injective (or in finite-dimensions, we can equivalently require that it be an isomorphism). Note that I use $\equiv$ to mean "same thing expressed in different notation".
You may have seen the definition probably stated as "for all $x \in V$, if for all $y \in V$, $\omega(x,y) = 0$ then $x=0$". Well, this is exactly what it means for $\omega^{\flat}$ to be injective (and hence an isomorphism).
Now, being an isomorphism means it has a linear inverse, which we may denote as $\omega^{\sharp}:V^* \to V$. So, for any covector $\alpha \in V^*$, we can consider the vector $x:= \omega^{\sharp}(\alpha) \in V$. What's special about this vector $x$? Well, just apply $\omega^{\flat}$ to both sides of this equation and you'll see that
\begin{align}
\omega^{\flat}(x) = \omega^{\flat}(\omega^{\sharp}(\alpha)) = \alpha
\end{align}
in other words,
\begin{align}
\omega(x, \cdot) = \iota_x\omega = \alpha
\end{align}
This is why given a covector $\alpha$, we can always find a vector to make the above equation true.
In your case, you just have to repeat everything pointwise. $dH$ is a covector-field (i.e a $1$-form). So, consider the vector field $X$ defined pointwise as $X_p := (\omega_p)^{\sharp}\left( dH_p\right) \in T_pM$. Then, it will satisfy
\begin{align}
\omega_p(X_p, \cdot) = dH_p
\end{align}
i.e if you remove the point $p$, then $\iota_X \omega = \omega(X, \cdot) = dH$.
By the way, doing thing in coordinates may be a little hard, because as you can see, it involves the inverse mapping $\omega^{\sharp}$. But anyway, if you're working in some chart $(U,x)$ of the manifold $M$, with the coordinate basis $\{\partial/\partial x^1, \dots \partial/ \partial x^n\}$, and dual basis $\{dx^1, \dots dx^n\}$, then define the functions
\begin{align}
\omega_{ij}:= \omega\left( \dfrac{\partial}{\partial x^i}, \dfrac{\partial}{\partial x^j}\right)
\end{align}
and let $[\omega^{ij}]$ be the inverse matrix of $[\omega_{ij}]$. Then, the components of the vector field $X = \sum_{i}X^i\frac{\partial}{\partial x^i} $ will be
\begin{align}
X^i &= \sum_{i=1}^n\omega^{ij} \dfrac{\partial H}{\partial x^j}.
\end{align}
(you see, the appearance of the inverse matrix entries makes things not-so-easy)
Your approaches are not quite correct since you seem to assume that you are given $i_Xw=df$. The whole point is to prove that such a vector field $X$ exists. This is why you can't just assume that you are given $i_Xw=df$ and solve for $X$, you are not guaranteed a priori that there exists an object $X$ that satisfies this identity.
Your second approach is close to the correct one (although, again, at the end you assume the identity). the approach is as follows. As you observed, at every point $p \in M$, $w$ has an invertible matrix, hence define the matrix $P^{ij}$ such that $$P^{ij}w_{jk}=\delta^{i}_{k}$$
Then define the rank-2 contravariant tensor (the so called Poisson-bivector) to be:
$$P=P^{ij} \dfrac{\partial}{\partial x^i} \wedge \dfrac{\partial}{\partial x^j}$$ You can prove this is a legitimate tensor by checking how $P^{ij}$ transform under a change of coordinates using its definition; it's a straightforward exercise but requires a bit computation so I'll leave that to you. Now define the two maps:
$$F:\Omega(M) \to V(M)$$ by $$F(\alpha) = P(\alpha, -)$$ and a second map $$G: V(M) \to \Omega(M)$$ $$G(X)=w(X,-)$$
Given how we defined $P$ it is easy to show that $G \circ F = Id : \Omega(M) \to \Omega(M)$ is in fact the identity map.
Hence for each $f \in C^{\infty}(M)$ define $$X=P(df,-)$$
Note that $$i_Xw(-)=w(X,-)= G \circ F (df) = Id(df)=df$$
Best Answer
If a real-valued continuous function does not vanish at a point, it does not vanish in a neighborhood of that point. $\omega_p$ is non degenerate means that its rank is maximal i.e. the associated musical morphism $$\begin{array}{cccc} \sharp : &T_pM&\to&T_p^*M\\ &x&\mapsto&\sharp(x)(y):=\omega_p(x,y) \end{array}$$ has a non-zero determinant, therefore do not vanish in a neighborhood of $p$.
Using the same argument, we can show that the following properties are open: being a submersion, immersion, transversal (here we speak of stability).