Compact way to generate a square wave with double pulse (like a heartbeat)?
I'm not sure what your 4 sq. inches is shaped like, but an Arduino Nano is 0.75" x 1.75".



They're cheap as chips, especially if you get a Chinese knock off.  Just a couple/ three pounds.  It can run of a variety of voltages, 5 - 12V, so a 9V battery might fit.  You only mentioned area and not volume, so you might be able to stack this stuff.

The business case for the Nano is that it can do everything you want, including reading a potentiometer via inbuilt analogue to digital converters.  They run fast enough for what you want. It can be reprogrammed in situ if you change your mind, and most importantly there are zillions of users out there.  I don't know what you're going to use it for, but I suspect that someone out there has already done it and posted their code on line.  It also reduces your chip count to 1 + FET.  Your motor spec. acutally suggests running it directly from an Arduino so you might be able to loose the FET.  I guess this depends on how much vibration you need.  And it's standard thru the hole mounted.  Not of that space age surface mount stuff which is beginner /breadboard friendly.

There is also arduino.stackexchange who will be able to help you with every step.  There are many other sites too.

I would recommend against a PIC.  Compared to the entire Arduino universe, they're very complex, hugely expensive for the toolset and you will find support difficult as the huge variety of PICs fragments the user base.  Your use case can be programmed in Arduino language (C and Java like) probably in no more than 10 - 15 lines of code.

Please do not fall into the trap of thinking that a micro controller is overkill.  It might be strictly in terms of technical functionality, but in the round, it's the easiest and least risky approach to this.