If we make an analysis of the sentence, we will see it divided as:
[私-は(subjective)] // 買物-が(objective) // したい (verb)// ので(す) // が.
*のです(nodesu) - that ん/の is a particle linked to the predicative [objective+verb]. This, when added to the copula verb です (polite form), makes a STATIVE construction. Roughly translated, the statement would sound like: "The fact is/the reason is that (の) I would like to do some shopping. (買物がしたい) + です".
*が: puts a great emphasis on the stative form above. It is usually used when you are waiting or expecting some kind of answer, as: "The reason is that I would like to do some shopping, so... (could you please help me?)" or VERY roughly "I happen to be wanting to do shopping..." [Remember that it is mainly used in spoken language. i.e. dialogues.]
A common use of the が-construction, is when you are on the phone, either calling or answering.
ex. Ække Nækkepennですが(polite) = ですけど(colloquial) , Greensilenceいらっしあいますか? - "It is Aekke Nækkepenn speaking, is Greesilence home?"
*In conclusion:
the mysterious が-particle (the one you put at the end of the statements, be careful)can be omitted in many cases. however, it adds a lot of emphasis if it is used when you are waiting for some kind of reply from those you are speaking to.
one more ex: 肉が食べたいんだすが. (niku ga tabetai-ndesu ga.) "I would like to eat some meat... (do you have it?)".
The reason of those construction, is that asking or requesting something too directly may sound too inpolite to ask very directly, so you ask for an answer without asking for it. =P