The answer depends on if you are running this script standalone, or as a tool from ArcMap. As a standalone, the raw_input should work:import arcgisscripting
# create the geoprocessor object
gp = arcgisscripting.create(9.3)
gp.workspace = raw_input('please enter path to workspace')
# process
layer1 = raw_input('please enter first layer')
layer2 = raw_input('please enter second layer')
gp.PointDistance_analysis(layer1, layer2, "output.dbf", "1000 meters")
etc.
If this script is being run as a tool from ArcMap, you will need to set up tool parameters, then use the appropriate gp command to insert them into the script:import arcgisscripting
# create the geoprocessor object
gp = arcgisscripting.create(9.3)
gp.workspace = gp.getparameterastext(0)
# process
layer1 = gp.getparameterastext(1)
layer2 = gp.getparameterastext(2)
gp.PointDistance_analysis(layer1, layer2, "output.dbf", "1000 meters")
etc.
FYI, if you're going to use backslashes in a hard-coded path name, either designate it as a raw string (r"I:\PDtest") or use a double backslash ("I:\\PDtest"). Using a forwardslash ("I:/PDtest") is acceptable as well.