There is a built in application for doing this, but it is quite well hidden. To assign a photo ID to a contact you first have to create a Speed Dial. If you already have a speed dial select 'Menu' > 'Edit Favorites Button' and go straight to point 3).
1) Go to the Phone App and view your 'Favorites'. Press menu > Edit Favorites Pages > scroll to a blank space and press Action.
2) You should now be on the 'Add Favorite' page. 'Type' should be preset to Speed Dial, if it's not then change it.
Click on 'Lookup' and find the contact and phone number you want. Click Action and the Speed Dial should be set.
3) Scroll down to 'More', click Action.
You should now be in the 'More Options' screen.
Tick the 'Image' box. Click on 'Select Image' and your Treo Pictures file opens. Select a picture from here and you're set. If you haven't got any pictures in there then get snapping!
<[>This only works for incoming calls.