If you are wanting to reverse the signal to the HDD reader arm, the easier way is to use an H-bridge.
https://en.wikipedia.org/wiki/H-bridge
It does rely on the load not being connected to ground, but it is really common, and it the usual way that dc motors are reversed, whether using switches, relays or semiconductors.
It's a lot more difficult if one side of the load has to be permanently connected to the -ve of the battery. It is possible to make a -ve supply from a +ve one but it's a lot of extra work so I suggest you avoid it if possible.
You need to find out how much current the load takes. You might be best to have a trial circuit run from a power supply, to allow you to measure the current. There's no point in making something small if it doesn't do what you want. Once you get a circuit that does what you want, you can measure the current and make the circuit smaller, and have an idea how big the batteries will need to be.
I suspect that the current needed to run an HDD reader arm could be more than a coin cell will provide.
When you say that the oscillation needs to be "fast", that really doesn't help, as "fast" is so subjective. A fast charger on a battery is complete in 15 minutes. Fast internet delivers 1 bit of data about every nanosecond. The fact that you are trying to move something like an HDD reader arm gives much more of a clue. Please tell us about how many times per second (or minute, hour, day or whatever) you want the signal to reverse.