I've found that old make up (foundation and blusher) after a couple of years has often caused a reaction on my skin, so I will throw it away.
Mascara gets thrown out after at least 4 months ( seen too many eye infections to doubt that), and I'm careful with eyeshadow too - if it has a hard crust on it , it goes.
Basically any makeup that is opened to the air can become contaminated.
As for the size of the bottles/ tubes- manufactures have to take into account how much people will use, as well as how often they will use it to decide on the size supplied.