Is the following statement provable in ZFC for some $A$: "$A$ is an algorithm which, when given as input a proposition $p$ in the language of ZFC, outputs 'yes' only if $p$ is provable in ZFC, 'no' only if $\neg p$ is provable in ZFC, and otherwise does not halt"?
If $A$ enumerates all possible proofs in ZFC until it finds one of $p$ or $\neg p$, then it satisfies the statement. I'm just wondering if there are any issues with expressing the set of provable ZFC propositions within ZFC. My underlying motivation is wondering whether automated-theorem-provers working in an expressive logical system could prove things about correctness and other properties of automated-theorem-provers for the same logical system.
(Apologies if this question is naive or poorly expressed; this is really not my field but I'm trying to understand this concept, so a little extra explanation is greatly appreciated!)
There is no hidden subtlety. The statement in question is indeed provable in ZFC, and it's a good exercise to work through the details.
There is a slight issue, though: it is possible (from the point of view of ZFC at least) that ZFC is inconsistent, and hence that sentences can be proved and disproved. So the following version of your statement is not provable in ZFC (and is, in fact, equivalent - over much less than ZFC - to the consistency of ZFC):
EDIT: This is exactly the issue raised by Henning Makholm's comment, above.