The picker service is implemented in such a way that it can serve extra attributes. But this is designed to feed the dialog itself, not the other fields as you try to do.
To achieve your use case, the best thing would be to use the picker, and then call a server side service to get the remaining information. It can be done by either doing a partial refresh of the fields while sending an event to the server with the data key, or, from a pure data angle, you can call a JSON RPC service to get this data.