I would say that this is more of a Python specific question than a GIS question since it sounds like what you are looking to know is how to take a user's choice, download a file based on it, and save it to a location.
The answer to this question definitely depends on where you are running into your problem, but the basic steps you need to take are:
- Write the classes in your ArcToolbox that populate your dropdowns with valid choices.
- Write the script that retrieves the choice from arcgis via arcpy.getParameterAsText() (docs) - the ESRI documentation on this is excellent
- Download the file - to either a temporary location or the user specified location (you can once again use getParameterAsText(), validate that the path exists, and pass it to your downloading functions)
- If you would like to return the shape into ArcMap 10, you can then use something like
features = arcpy.MakeFeatureLayer_management(shapefile_location) (docs) to load the shapefile into memory, then use arcpy.setParameter(parameter_number,features) (docs) - where the numbered parameter is set to output in your script tool's definition. That will then return your shapefile into the ArcMap table of contents as a layer.
I'm not sure if you were looking to return the layer into the ArcMap ToC, but that's how you would do it. If you are having trouble with downloading a file in Python though, someone may be able to help you here, but also check the python section on StackOverflow.
I'll also add that I'm happy to elaborate on any of these steps and what to do, but without being totally clear on what's needed I'll save that for now. The actual file download is the part I haven't done in Python and which may be better suited for StackOverflow.