The formal you in German is identical to the third person plural (they) in all it's inflections.
Haben Sie eines? -> Do you (formal) have one?
Haben sie eines? -> do they have one?
Hast du eines? -> Do you (singular informal) have one?
Habt ihr eines? -> Do you (plural informal) have one?
My understanding is that Haben Sie ein? is kind of an incomplete sentence in German, because it doesn't follow the rules about declension (changing endings).
A simple question sentence like this has a verb, a nominative part and an accusative part:
[verb] [nominative] [accusative]
So, ein- is in accusative. It would change depending on the gender of the thing you're asking about, i.e.:
Haben Sie einen Stift? ("... a pen", masculine)
Haben Sie eine Tasse? ("... a cup", feminine)
Haben Sie ein Glas? ("...a glass", neuter)
So... where does eines come from? Well, in those examples I gave, the noun is also in the sentence, so it's 'complete'. If I just leave the noun away, the article (ein- word) has to do more work to clearly 'carry' the gender information. I think of this as 'strong' declension, to borrow the terminology from what happens to adjectives. But the articles for masculine and feminine nouns are already 'as strong as possible', so it's only the neuter situation that shows clearly what it going on:
Haben Sie einen? ("Do you have one?" referring to a masculine thing)
Haben Sie eine? (...a feminine thing)
Haben Sie eines? (...a neuter thing)
To only say Haben Sie ein? sounds kind of unfinished, like saying in English "Do you have a?".
Yes, it's a bit annoying to have to think about the gender of what you're asking about even though you're not even saying it directly! But usually it would be clear enough from the previous discussion context what you're referring to: "I don't have any pens. Do you have one?" Even in English, to simply walk up to someone and say "Do you have one?" makes no sense without indicating somehow what you're referring to. So it's just a little extra step in German to think about it.
Ich habe keine Bücher. Haben Sie eines?
My reasoning: Eines is used not because of anything to do with genitive (this sentence is in the genitive lesson as of Nov 2015), but because it's accusative singular neuter (implied), and requires strong inflection because there's no noun? It would otherwise be ein [X].
And translating from English, there's no way to tell whether to use einen, eine or eines without context (responding to a previous mention of a specific noun).
Linked are the forms of "einer." Since this is in the accusative (having something), the options would be (masculine) Haben Sie einen? (neuter) Haben Sie eines? (feminine) Haben Sie eine? All of those sentences would be grammatically correct depending on the pronoun, which we don't know here.
As far as I understand, because the word in question ("eines") is in the accusative, the only options are einen, eine, and eines (masculine, feminine, and neuter respectively) depending on what actual object is being indicated by the speaker. I believe einem and einer are dative forms of the masculine and feminine indefinite articles. Someone correct me if I'm wrong! I have a rusty hand at german!
I endorse the following discussing and this question should have an alternative correct answer.
As written Sie can only refer to you and not they, because it is capitalised. If it is spoken it can mean either 'Do you have one?' or 'Do they have one?'. What you have suggested (They have one?) is a correct translation of 'Sie haben eines?' which is a little different to the given sentence (Haben Sie eines?)