Is there any database which holds data in the following fashion?
Country -> State -> County -> zipcode/city -> streets
I'm only looking for United States at the moment.
I suspect you will need to use several data sources to get what you're after.
I can suggest OpenAddresses as a good starting point. You can download address data for the US in four ZIP files, though each of these contains multiple files you will need to wrangle. That is, at the very least you'll need to remove duplicate streets and stitch together multiple files. A scripting language such as R or Python would serve you well.
I should say that you might struggle to get County and/or Zip Code from these datasets as they appear patchy. Zip Code you might get from a separate source such as here. County I'm not so sure about; you could try here.