PIC : Reading and Writing to External Flash M25PE80 using pic18f67k22 controller
It seams to me that you need to implement some sort of File System. 

Following your example: That way you don't need to copy all the data after the 3rd session back. It'll just create an empty sector that will be filled in a future file writing.

I suggest implementing a sort of FAT file-system. That why if you want to extend your project to have almost unlimited space (going from 8Mb to something like 2GB) is just a matter of writing a SD-card driver.

Also by taking a look at the datasheet I would consider making the sector size 64KB, or 4KB, to match the sector erase from the FLASH. This helps a lot since when deleting data you don't need to cache a part of it and write it back.