I believe the reason get_post_custom() is that it already uses the global ID for the Loop. Using either one will be the same speed, but using your method, DD32, will use less memory as all of the metadata will need to be copied to the $metadata variable, whereas only the metadata that is needed is copied to $encs.

It is almost a moot point, since both functions pull from the metadata cache will get all of the metadata. The copy made in the function will be destroyed when the functions go out of scope however, so in the long run using get_post_meta() will be more memory efficient.