What you're looking for is a service that can offer reverse-geocoding to get an approximate street address location and then using the ZIP+4 street data, determine the surrounding streets. Google offers a reverse-geocoding API. From there, you can use the street data (with geo-coordinates) from the US Census Bureau TIGER data to determine proximity.
You will need to determine your definition of "close". Do you want all the streets within a certain radius – rural addresses may fail in this case – or do you want to just list the first 10 streets regardless of distance away from the location? Remember, that the TIGER data gives a start and stop point for each street based on the intersections so there may be a street that is closer to the destination but might be incorrectly displayed as further away if the end points are not very proximate to the location. In that case, perhaps you could first determine the median centerpoint coordinates for each street within a larger subset and use that to determine proximity.
With that said, I have also not seen a service exactly like what you are seeking. I work at an address verification company called SmartyStreets and we are working on something that does this with our API but it's not finished yet so don't tell anyone.
Wait, is this forum public? D'oh! (It's just not done yet so I can't show you anything yet.)