You've got that a bit back to front. There is no carrier to initially lock onto - the spreading code (pseudo-random noise) has smeared all signal out over +/- 2MHz of bandwidth (actually a bit more).
You have to first remove the spreading code to recover the carrier, and only then you can lock on the carrier with a Costas loop or similar. I would think that removing the spreading code from an analogue 1.5GHz signal without sampling or down-converting first would be challenging, esp for a <$100 project.
I've written a 'raw 1-bit ADC sample to position fix' GPS receiver so am quite familiar with the techniques - http://hackaday.io/project/20965-full-stack-gps-receiver is my project.
No, I did not get that front to back.
You can reconstruct the carrier from a BPSK signal, and you need the entire signal bandwidth to do that.
Illguided filtering only worsens the SNR. You do not need any information on the modulation, only that it is BPSK or QPSK. Don't forget that for a clean BPSK signal, there is a notch in the spectrum where you would expect the carrier. (ed. for 50% 1/0 bits closely interspersed)
A Costas or a squaring loop can handle that. (ed. Remember that it averages over many many RF cycles.)
And no, you cannot remove the spreading code until you know the frequency where it is transmitted,
where the bit cells are and what the bits are.
BTDT, for the navigation of some European TV and some phone sats, and for the hardware for a very early combined Glonass/GPS receiver, based on the ancient Plessey 1010/1020/2010? chip set from the early monolithicum.
For a starter, get "Jack K. Holmes: Coherent Spread Spectrum Systems, J.Wiley pub."
and / or "Robert C. Dixon: Spread Spectrum Systems With Commercial Applications, also Wiley"