You could include the label in the HTML but move it off screen for sighted users. Then screen readers see it. I sometimes make the first option the actual question, as well. I don’t really see a problem with it, although you have to set it up carefully so that you understand the resut that comes through—such as what you see in the results if a choice isn’t made.
As long as my PHP looks for a 0 or 1, it should be fine.
Technically, yes, but remember that ‘’ and 0 are equal in PHP, i.e., false, when you do an equal (==) comparison. You would need to do an identical (===) comparison. Unless the number has a semantic meaning, e.g., being used directly to calculate a score for each post, I would recommend using an alternative scheme, such as ‘yes’ and ‘no’, or ‘agree’ and ‘disagree’. This will also make code maintenance much easier.