A two-wheeled robot cannot move in the direction parallel to the axis of its wheels. Therefore, it cannot move in an arbitrary direction independent of its rotation; it is not holonomic. This implies that your robot cannot move in a straight line while spinning about its center (as a weightless/frictionless body would). However, it sounds like you are OK with some wobbling, so I'll try to give some practical ways to think about such motions.
Let's assume you have perfect constant-speed motors and wheels. The tread of each wheel is being driven by each motor at some velocity; let's write these velocities as $(l,r)$.
First, consider your robot spinning in place clockwise - the left wheel running forward and one wheel back at the same speed. Call this condition $(+1 \text{ u/s}, -1\text{ u/s})$ where $\mathrm{u}$ is some distance unit and $\mathrm{s}$ is seconds.
Then, separately, consider your robot moving straight forward for a distance $1 \text{ u}$. If the robot is aimed in that direction, then this consists of running the motors at $(+1 \text{ u/s}, +1\text{ u/s})$ for 1 second. Or, equivalently, it could be done with +2 u/s for 1/2 second; speed × time = distance, of course.
Consider doing both motions simultaneously, by summing the velocities the motors should run at; at any given moment, this also results in summing the motions the robot is making (given an infinitesimal moment, the robot is not actually turning, so everything is linear). At any given moment, the robot will have a directly-forward velocity due to motion 2. At the same time, which direction is "forward" is changing.
Over any given time interval, the total change in position $∆s$ of the robot will be the integral of its velocity vector, which can be considered as its forward velocity $v$ times the unit vector which is its forward direction.
$$∆s = ∫_{t_0}^{t_1} v\langle \cos θ, \sin θ\rangle dt$$
(If you didn't understand that, don't worry about it; if you did, great.)
Now, you presumably want your robot to actually move in some specific direction. Suppose your robot performs motion 1 continuously, and additionally motion 2 only during the periods when it is almost pointed in that direction (i.e. during some range of angles $(θ - ε, θ + ε)$. You can consider the robot's $∆s$ during that time as being the sum of two components: one in the wanted direction of motion, and the other as perpendicular to it. Since the interval over which you are moving forward is symmetric about the desired direction, the perpendicular components will cancel out!
If you want less jerky motion, then you don't have to use a sharp-edged interval; you can gradually add the forward component as the angle gets closer to the desired one, as long as you do the same in reverse as it goes past. In fact, you can use any function of the angle which is periodic and even (some will result in no progress or going backward, but none will go in the wrong direction); a sine would be such a function.
So, for example, you could drive your motors with $(a + b\cos(θ_t - θ), -a + b\cos(θ_t - θ))$, where $θ$ is the current angle of the robot, $θ_t$ is the direction you want to make progress in, and $a$ and $b$ are arbitrary constants which set how fast the spins and wobbles are. Cosine (or anything which alternates positive and negative over one period) is a particularly good choice as the robot will drive both “forward” and “backward” to make progress in the wanted direction. Changing $a$ and $b$ will affect how the wobble looks.
If you want the robot to move a specific distance, then you will need to make the equation above more useful. Let $f$ be the function specifying forward motion (in the above example, $f(θ) = b\cos(θ_t - θ)$):
$$∆s = ∫_{t_0}^{t_1} f(θ)\langle \cos θ, \sin θ\rangle dt$$
If rotation (motion 1) is occurring with a wheel tread velocity $a$ (as in the motor formula I gave above), and the robot's radius (half the distance between wheels) is $r$, then the rotation speed of the robot is $a/r$, and the rotation angle is $θ_0 + (t - t_0)/r$. Therefore, $dθ/dt = a/r$, so we can rewrite the integral as
$$∆s = \frac{r}{a} ∫_{\frac{a}{r}θ_0}^{\frac{a}{r}θ_1} f(θ)\langle \cos θ, \sin θ\rangle dθ$$
If you evaluate this integral (with your particular $f$) over an interval of length $2π$, then you will find the change in position of the robot after one revolution. You can then use that value (specifically, the length of the vector $∆s$) to find the number of whole revolutions to move a given distance, and by changing the scale of $f$ (the parameter $b$ in my example), you can scale that distance per revolution.