The static method user_picture::fields() can't be used multiple times within one query because only 'id' field can be aliased. There is no way to provide aliases for them. That is a real usage blocker for all queries that join user table twice or more.
I suggest to add yet another optional parameter to the function $fieldprefix=''. If it is present, all returned fields will be aliased using the value as prefix. This would apply to all the fileds but 'id' - alias of it can be set separately or even it can be left unaliased.
When this is implemented, the method can can be used to generate SQL's like