You can pick a basis and define the inner product by specifying what it does to a basis.
But this is somewhat unsatisfactory. In practice, how you go about writing down a meaningful inner product on $V$ depends on how $V$ itself is constructed. For example, if $V$ is, say, a space of real-valued functions on some measure space $(X, \mu)$, then a natural inner product to write down is
$$\langle f, g \rangle = \int_X f(x) g(x) \, d \mu$$
provided that this integral always converges.
There are indefinite scalar product spaces. I suggest reading "Indefinite Linear Algebra and Applications" by Gohberg, Lancaster, Rodman. Applications are wide; to name a few: theory of relativity and the research of polarized light (mostly Minkowski space is used here), and matrix polynomials (nicely covered in "Matrix polynomials", again by Gohberg, Lancaster, Rodman).
Each indefinite scalar product space is induced by a nonsingular Hermitian indefinite matrix $J$ by
$$[x, y] := \langle Jx, y \rangle = y^* J x,$$
although I've seen other variations as is usuall with this (for example, $x^* J y$).
The vectors which you've mentioned, $x \ne 0$, but $[x,x] = 0$, are usually called degenerate, although other names are used as well, for example neutral. In later terminology (I think used mostly by physicists), $x$ for which $[x,x] < 0$ is called negative, and if $[x,x] > 0$, $x$ is called positive.
The most common indefinite scalar product space is hypperbolic, induced by $J = \mathop{\rm diag}(j_1,\dots,j_n)$, where $j_k \in \{-1,1\}$. Minkowski space is usually defined by $j_1 = \pm 1$ and $j_k = \mp 1$ for $k > 1$, or $j_k = \pm 1$ for $k < n$ and $j_n = \mp 1$.
There are wider classes of scalar products on finite real and complex spaces (I think there was even some work on spaces of quaternions) than indefinite ones. For example, orthosymmetric products, for which $J$ need not be Hermitian, but $J^* = \tau J$ for some $\tau \in \mathbb{C}$ such that $|\tau| = 1$.
Another widely researched class are symplectic scalar products, induced by $J = \left[\begin{smallmatrix} & {\rm I}_n \\ -{\rm I}_n \end{smallmatrix}\right]$.
I suggest reading Tisseur, especially her "Structured Factorizations in Scalar Product Spaces, Higham, Sanja Singer (especially "Orthosymmetric block reflectors" with Saša Singer), Mehrmann, Mehl, maybe few of my own papers,...
Best Answer
An inner product is an additional structure on a vector space. It is true that all vector spaces have inner products, but there can be two different inner products on the same vector space. For instance, on $\mathbb{R}^2$ one has the "usual" inner product $\langle a,b \rangle \cdot \langle c,d \rangle= ac+bd$. But if you change coordinates by replacing the "standard basis" $\langle 1,0 \rangle$, $\langle 0,1 \rangle$ by some other basis then you may get other inner products.
The additional structure that an inner products gives to a vector space is geometric in nature. First, the inner product gives a way of measuring lengths of vectors, using the formula $$Length(v) = \sqrt{v \cdot v} $$ Second, the inner product gives a way of measuring angles between two vectors, using the law of cosines formula $$Angle(v,w) = \cos^{-1}[(v \cdot w) / (Length(v) \, Length(w))] $$
If you change inner products on the same vector space, then you may get two different angle measurements, two different length measurements, two different notions of "circles", etc. Just as an example, if you define an inner product on $\mathbb{R}^2$ using the basis $\langle 2,0 \rangle$, $\langle 0,1 \rangle$, then the "circles" in this geometry are ellipses whose major axis along the $x$-axis has twice the ordinary Euclidean length as their minor axis along the $y$-axis.