I am looking for a service that you know of, that would return me all streets in a city (ZIP) for the purpose of building a drop-down (or auto-complete) address entry field.
Most companies actually seem to use dual range address calculators (At least in my experience the results are consistent with that behavior). Basically each uninterrupted strip of road has a range, or multiple ranges of numbers, on either side that specify the maximum street number and minimum street number. One side has odd and the other usually has even.
The Census Bureau does publish road shapefiles based on USPS and local planning agency information called Edges. Using this in tandem with FEATNAMES you can derive all streets within a Zip Code. This document explains the relationship and linkage between datasets. With both Edges and Featnames, you will have the location and set of names for each strip of road.
Most importantly, though, this is one of the few and only instances where the Census Bureau publishes a Zip Code location. Usually, they post areas which have one dominating zip code known as ZCTA's (Zip Code Tabulation Areas). Be careful how you use it though, some streets have different Zip Codes on either side, and some roads have no zip codes.
I've never heard of a service like that. In the case of a drop down of streets from just a zip code, the list would be huge - probably not what you want to do, or subject your users to.
What you need is to create a find task with a filter, linked to a geocode service. Tough to guide you without knowing what API you are using, but Bing has one as does ESRI. We built ours from the ground up, searching our own data. If you did get the data (from the census people?) a simple find task wouldn't be too hard to setup what you want to do.
If anyone knows of a pre-fab service for the US (or Cdn on the off chance) I'd like to hear about it!