But I have another question, can I make fields appear in any page, letting the user fill in the form in any page? Not just on "Registration" and "Edit profile" page.
Possibly, try installing CB Core Fields Ajax then edit your fields and under Integrations > CB Core Fields Ajax enable ajax edit for a field. Next use the substitution format [cb:userfield field="FIELD_NAME" formatting="span" /]. This should allow you to click the displayed value to open the ajax edit, but ajax editing wasn't exactly designed for this scenario so it may not work with all fields.