If any external resources are used, other than stock photography, they are stored along side client files for a project. I am not one to reuse the same external resources over and over and over for different clients, except for stock photography in some instances.
For stock photos, I store them in a separate alphabetical directory with subdirectories for the source of the photo i.e.:
-Animals
- Birds
Eagle_DT-00000000.psd
Eagle_IS-0000000000.psd
- Cats
Housecat_Grey_DT-000000001.psd
Housecat_Grey_IS-000000008.psd
Housecat_White_DT-000000041.psd
- Buildings
- Homes
Craftsman_Blue_DT-000000041.psd
Craftsman_Grey_DT-000000041.psd
Tutor_Green-IS-000000008.psd
Victorian_Yellow_DT-000000041.psd
- Skylines
Chicgo_IS-000000008.psd
Chicago_Night_IS-000000041.psd
NewYork_IS-000000008.psd
NewYork_DT-000000041.psd
Miami_IS-000000008.psd
London_DT-000000041.psd
File titles are altered... [ myDescriptiveTitle_sourceAbbreviation-imageNumber ] I can then go to the source web site, and search for the image number if I need the license again.
And note that for Stock photos, most services will allow you to view you account and download again if needed. So, often there may not be a need to store raw images locally. However, it's exceptionally rare I use a stock photo in it's downloaded form without editing it.