Non riesco a commentare sotto le risposte di DaG e randomatlabuser perché non me lo permette. Aggiungo un commento qui sperando che si possa fare.
Alla domanda "perché proprio quattro e non due, per esempio?" non ho risposto perché non credo esista una risposta certa. E' un modo di dire che si è fissato nel tempo e non so se sia possibile risalire all'etimologia esatta. Né tantomeno è possibile conoscere alla perfezione cosa si potesse comprare con quattro e con due soldi.
In italiano esistono molte frasi idiomatiche con i soldi. Alcuni di queste sono:
mancare diciannove soldi a una lira. Essere del tutto insufficiente.
(La lira era un tempo divisa in venti soldi).
non valere un soldo bucato. Non valere nulla, nemmeno un soldo e per di più bucato.
fonte: http://dizionari.corriere.it/dizionario-modi-di-dire/S/soldo.shtml
Dato che un soldo era 1/20 di lira, non escludo che "quattro soldi" e "due soldi" fossero cifre arbitrarie (che poi appunto si sono fissate nella lingua) utilizzate col significato di "poco valore".
Quanto a ciò che si poteva comprare con un soldo, la questione è complessa. Prima dell'Unità d'Italia ogni stato aveva le sue monete e i suoi prezzi, non c'erano prezzi comuni per tutti. Grano e una minestra sicuramente. Quattro soldi poteva anche essere lo stipendio minimo di un lavoratore, ma come ho detto dipende dai casi e non sono sicura che sia questa l'etimologia corretta.