Your question is too general to be sufficiently answered. This is my try:
1. I don't think Proc SQL has the capacity to directly read any external file, (with the exception of pass-through, as I am not so sure if you can call it external file)
2. Depending on what types of external file and whether you have SAS/ACCESS, for data step, please search 'filename' , 'infile' and libname statement using SAS online help. Each of them, if to be explained thoroughly, will take hundreds of pages.
3. for proc, please check out 'proc import'.
And you can wrap up 2,3 inside a macro at your will.
Regards,
Haikuo