Can a customer portal user have a same username as CRM username? Can anyone explain me reason behind this?
Yes, a customer portal user can have the same username as a regular CRM user. Portal usernames have to be unique within your organisation, across all of your portals. Thus once a customer portal user has taken the username 'email@example.com', no other portal user within your org, on any portal, can use the same name. However, that username can be used for a portal user on another organisation.
As to the reason, I haven't seen anything documented about this. My view is that as a user could potentially be a customer of a number of companies, it follows that they could have customer portal logins across a number of Salesforce organizations, and it makes sense that they can retain the same username across all of these organizations.