However, the datasheet states that bit 2 of OSCCON is a only a readable bit - not writeable. What happens to this bit when I attempt to write to it, as in this case, with a '1'? What consequences might using this method have?
While the datasheet doesn't define what they call "readable" and "writable" (at least I haven't found that info), it's probably because it's one of those "obvious" concepts that almost everybody assumes. One may object that clearly defining this somewhere in the datasheet would not hurt...
As others have said, when writing to registers, it's impossible to avoid "writing" to read-only bits, so you can safely assume that it has not effect. (But again, stating this somewhere in the datasheet wouldn't have hurt... that said, even if they had, chances are that most readers would have missed the info unless it was repeated along with each register definition... which would be cumbersome... so yeah... writing docs is hard.) While the written value for read-only bits doesn't matter, it makes sense to use '0' for those instead or '1', in order not to confuse people reading the code.
And as others have also said, using constants for the various bits is much clearer, and the definitions are already there in the include files.
I've tried investigating, but the closest I can find is from this page here: http://www.learningaboutelectronics.com/Articles/How-to-set-up-the-oscillator-for-a-PIC-microcontroller-in-C.php - where they say that writing a '1' "makes the signal stable". I think this is incorrect, as my interpretation of the datasheet is that this bit is only written to by the microcontroller, to indicate the stability of the oscillator.
You got that right, that's bullshit. Lesson to learn is not to trust any random blog you find on the internet. They're full of crap, and the good ones are few.
Note that the above in the blog you mentioned may have come from a bad interpretation of the datasheet (that you yourself didn't find completely clear), but the logic they used is pretty twisted. What kind of engineers would implement oscillators that would be "unstable" by default (whatever that means) and that would suddenly become stable when you set a given bit? That itself would be quite odd. Sure one could think of very particular oscillators that would default to a very low power, but unstable state (whatever that would mean though - that would then be surely clearly explained in the datasheet), and that you could switch to a "stable" state with a configuration bit, but drawing more power. You can rest assured that this is not the case here, that if it were, it would surely be explained (and promoted) in the datasheet. And again, anyway, this bit not being "writable", it should still be clear that writing to it would NEVER be *required*.