Ok Robin, I have a few ideas as to what may be happening here.
First of all, when the idle is searching like this it is usually a vacuum leak. To test for this you will have to have the engine running and then spray some carb cleaner along the intake and any vacuum lines. If the idle smooths out, or the speed increases, then you have found the vacuum leak.
That being said, it is very interesting that the car doesn't want to start after you fill it with fuel.
The car has a part called a purge solenoid. This part usually opens when the engine is running to pull the fuel vapors out of the charcoal canister. If it is stuck open, when you fill the car, the fuel vapors will flood the engine. This sounds like a very big possibility because when you fill up, it won't start unless you treat it like it's flooded and hold your foot to the floor.
I would have your mechanic check into that bigtime simply because I think it is flooding out, but this will also cause an internal vacuum leak that may be causing the surging.
At this time I think either of these might be causing the issue. Sometimes and actually most times that purge solenoid valve will not cause the check engine light to come on.
Hope this helps!
Please be sure to let me know if you need further assistane, if not, please be sure to rate my answer. If you are here on a free trial, a rating is still required.