This is a question asked in several ways - it is possible to view public photos from NON FRIENDS through the Facebook page (www.facebok.com) if you are logged in - and permission of the photo is set to public by the owner - but it is not possible with the Graph API, or FQL.
This seems to be by design, but would be very nice if this would be possible as well. There are two bugs open right now (triaged, assigned), perhaps this will be reconsidered:
http://developers.facebook.com/bugs/282804805117022?browse=search_4f5bbfcc2e0630400115238
http://developers.facebook.com/bugs/245105075571349?browse=search_4f5bbfcc2e0630400115238
If I am mistaken I would be very happy for a work around.
EDIT:These 3 methods give back no entries the user I query is a non-friend:
SELECT src_big, src, src_small FROM photo WHERE object_id = 'PhotoIdOfNonFriend'
SELECT aid, name, object_id FROM album WHERE owner='NonFriendId'
https://graph.facebook.com/PhotoIdOfNonFriend