Electro fan, ideally two small flat bladed screwdrivers, one to go at each end. There are special chip pulling tools, but I've never tried one, nor had many people I know working in electronics when, many years ago, I asked the same question. I guess you'd only use apulling tool if you were doing an awful lot of swapping chips betwe sockets. If you have made a programing jig then look at ZIF (Zero Insertion Force) sockets instead, you load the chip and psh down a lever to hold it in while programming, lift the lever to release. 3M makes them for 28pin DIP ICs for about £20 each sold on major electronics distriburtor websites, but you can get them on amazon for more like £2 for clones from chinese sources which should be adequate except for long-term highly repeated brutally clumsy use cases.
P.S. your second item, I don't know the details of your situation but this sounds like a problem entirely inside your software tool. What about copying to another text editor, editing as you please, then flashing your edited code to chips using the avrdude command line tool (or using the "upload with programmer" option available in the arduino IDE).
If your whole problem is just the process of flashing your programs to atmega328p chips, I'd make a ZIF jig which you could wire to an arduino uno and use that uno as an "arduino as ISP", very quick easy way of writing to the chip and bypassing any need for the arduino bootloader. This jig and arduino as ISP setup can also be used with the avrdude command line tool to extract code from an atmega328p, but you'd need to decompile it afterwards.