I think the key part is the indefinite time. This could have happened a long time ago, or a few years ago, or even yesterday, or even never in reality. By keeping the time indefinite you don't need to stop and correlate historical information as to exactly when it happened.
"Once" works as an adverb - in fact, the whole phrase is adverbial because it describes the following verb. The next part is usually, "there was..." Was? When? "Once upon a time."
For "once" to work as a noun, you need articles or propositions in front to tell me that it is a noun: for once, this once, just the once...
Also have a look at where the stresses fall: "ONCE uPON a TIME..." Nice rhythm, hey? :)