Can we divide a vector by another vector? How about this: $a = vdv/dx?$

The statement $a = v (dv/dx)$ only holds in that form for one-dimensional motion, where the quantities $v$ and $x$ are just numbers rather than vectors. It follows from the chain rule, if we view $v$ as a function of $x$ instead of as a function of $t$: $$ a = \frac{dv}{dt} = \frac{dv}{dx} \frac{dx}{dt} = \frac{dv}{dx} v. $$

If you're doing 2-D or 3-D motion, you can still do something similar, but you have to let $\vec{v}$ be a function of $x$, $y$, and $z$, since $\vec{v}$ can change as each of these quantities changes. This means that you need to use multi-variable calculus to write out an equivalent statement. For example, we have $$ a_x = \frac{dv_x}{dt} = \frac{\partial v_x}{\partial x} \frac{dx}{dt} + \frac{\partial v_x}{\partial y} \frac{dy}{dt} + \frac{\partial v_x}{\partial z} \frac{dz}{dt} \\= \frac{\partial v_x}{\partial x} v_x + \frac{\partial v_x}{\partial y} v_y + \frac{\partial v_x}{\partial z} v_z. $$ As you can see, we're never "dividing by" the entire vector $\vec{x}$ when we take these derivatives; we only ever "divide by" its components $x$, $y$, or $z$, which is a valid mathematical operation.

Your expression doesn't make sense for (non-trivial) vectors, only for scalars (which are one-dimensional, a.k.a. "trivial" vectors).

The expression $a=v\frac{dv}{dx}$ only makes sense if $v$ and $x$ are both functions from one dimension to one dimension. You will never see the expression $\vec{a}=\vec{v}\frac{d\vec{v}}{d\vec{x}}$, because such an operation is not defined.

In general, multiplication of vectors is only well-defined in specific circumstances. There are three commonly-used multiplications of vectors: the dot product (which returns a scalar), the cross product (which returns a vector), and the tensor product (which returns a matrix). The cross product, in addition, only makes sense for three-dimensional and seven-dimensional vectors (the reason for this has to do with the existence of certain extensions of complex numbers called the quaternions and the octonions).

Division of two vectors is in general not defined, because it's not possible to undo either type of vector multiplication. For example, for any given vector, there are an infinite number of other vectors whose dot product with that vector will be zero (namely, all vectors that are perpendicular to it), and similarly, there are an infinite number of other vectors whose cross product with that vector will be zero (namely, all vectors that are parallel to it). Defining an inverse would require a one-to-one correspondence between the input and output of this multiplication, so defining division is not strictly possible.

That said, defining differentiation of vectors is different, namely because differentiation does not involve dividing two vectors. For a vector which is a function of space $\vec{v}(\vec{x})$, there are four ways to define differentiation:

  • differentiation by a scalar parameter $t$, which is defined for an $n$-dimensional vector as:

$$\frac{d\vec{v}(\vec{x},t)}{dt}=\left\langle \frac{d v_1(\vec{x},t)}{d t},...,\frac{d v_n(\vec{x},t)}{d t}\right\rangle$$

  • the divergence, which is defined for an $n$-dimensional vector as:

$$\nabla \cdot \vec{v}(\vec{x})=\sum_{i=0}^n \frac{\partial v_i(\vec{x})}{\partial x_i}$$

  • the curl, which is defined for three-dimensional and seven-dimensional vectors, and, in three dimensions, in Cartesian coordinates, is:

$$\nabla \times\vec{v}(\vec{x})=\left\langle\frac{\partial v_y(\vec{x})}{\partial z}-\frac{\partial v_z(\vec{x})}{\partial y},\frac{\partial v_z(\vec{x})}{\partial x}-\frac{\partial v_x(\vec{x})}{\partial z},\frac{\partial v_x(\vec{x})}{\partial y}-\frac{\partial v_y(\vec{x})}{\partial x}\right\rangle$$

  • the Jacobian matrix $\frac{d\vec{v}(\vec{x})}{d\vec{x}}=J$, whose entries $J_{ij}$ are given by

$$J_{ij}=\frac{\partial v_i(\vec{x})}{\partial x_j}$$

As you can see, none of these involve dividing a vector by a vector; in fact, all of them involve multiplying a vector by another vector, namely, the vector of partial derivative operators $\nabla$. For the divergence, this is a dot product; for the curl, this is a cross product; and for the Jacobian matrix, this is a tensor product.

So how do we rework the one-dimensional expression for acceleration so that it makes sense in any number of dimensions? The key is to start with the basic definition, assuming, as you did, that there is no explicit time dependence for $\vec{v}$:

\begin{align} \vec{a}(\vec{x})&=\frac{d\vec{v}(\vec{x})}{dt}\\ &=\left\langle \sum_{i=1}^n \frac{\partial v_1(\vec{x})}{\partial x_i}\frac{\partial x_i}{\partial t},...,\sum_{i=1}^n\frac{\partial v_n(\vec{x})}{\partial x_i}\frac{\partial x_i}{\partial t}\right\rangle\\ &=\left\langle \sum_{i=1}^n \frac{\partial v_1(\vec{x})}{\partial x_i}v_i,...,\sum_{i=1}^n\frac{\partial v_n(\vec{x})}{\partial x_i}v_i\right\rangle\\ &=(\vec{v}\cdot\nabla)\vec{v} \end{align}

There is nothing wrong with differentiating a vector, since it doesn't involve division by a vector.

Well, we know how to multiply vectors, via the dot product $\vec a \cdot \vec b$. So we could define a division through:

$$ \frac{\vec a}{\vec b} \doteqdot \vec a \cdot \frac{1}{\vec b}. $$

Now we need to define what is meant by $ \frac{1}{\vec b}$. Well, what about:

$$ \frac{1}{\vec b} \doteqdot \frac{\vec b}{|\vec b|^2}. $$

This vector inversion gives a new vector with same direction, but reciprocal magnitude. In fact it's how we define an inversion for other things like the special conformal transformation. Seems like as good a definition as any. Then division of vectors becomes:

$$ \frac{\vec a}{\vec b} = \frac{\vec a \cdot \vec b}{|\vec b|^2} = \frac{|a|}{|b|}\cos\theta. $$

This division satisfies what you would expect:

$$ \frac{\vec a}{\vec a} = 1, $$

but different from usual division, the inverse of $\vec a$ isn't unique.