Well, yeah, one could do anything, it's just a matter what's a realistic amount of work for such a minor feature - this would be a lot of work and a lot of refactoring to do (just check build.c and imagine you have to update every single build command for every single filetype where %p appears). I don't have time (and motivation) to write this and I guess nobody has time to review such a patch and I guess nobody will be very thrilled about adding code like that that has to be maintained.
OK, forget about that, `%p` will just get expanded to the project base path so there should be no change needed. But I still think moving the project file while the project this file describes is loaded would be really tricky.