Re: profile fields by id
I understand your question, and you’re right, there is no such function. But from inside of a profile loop, you can use bp_the_profile_field_name(), and it will get the $field_id implicitly from the loop iteration.
If you don’t want to build a loop, you can get the field name from the $field_id like this:
$field = new BP_XProfile_Field( $field_id );
$field_name = $field->name;