Take for example a conducting body with an arbitrary shape and volume $V$ connected to a battery that will cause a current flow in the body. You don't know the microscopic structure of the body; so in principle for any point $ \mathbf{r} \in V $ you can have a different value of $I$: $$ I=I(\mathbf{r})=I(x,y,z) $$
Now, take any surface $ \Sigma $ in $V$; for the points $ \mathbf{r} \in \Sigma $, your current is a function of the surface $ \Sigma $, which you can express in parametric form:
$$ \Sigma = \{ (x',y', z') \in V : x'=x'(u,v), y'=y'(u,v), z'=z'(u,v), \text{for proper values of } u \text{ and } v \} $$ and thus:
$$ I(\Sigma) = I(x'(u,v),y'(u,v),z'(u,v))$$
Now you can differentiate the expression of $I$ with respect to the parameters $(u,v)$. For each $\Sigma$ you have different parametric equations, and differentiate gives you the derivative of $I$ with respect to that particular $ \Sigma$.
That's how I would see differentiating a function with respect to a surface; but I think the formula you reported has a bit of notation abuse and makes much more sense if you use:
$$ \mathbf{J}= \rho\mathbf{v} $$ where $\rho$ is the volumetric charge density of the body and $v$ is the speed of the charges flowing in the direction $\mathbf{a}$. With this expression of $\mathbf{J}$ is easier to calculate the derivative.