Can we create a stored procedure to copy detached .mdf and .ldf files from original location to new location?
Well you can use xp_cmdshell, write (or find and use) a CLR routine to do file copies and things like that. For example, the unrecomnended use of xp_cmdshell.

EXEC xp_cmdshell "COPY \\share\path\file.mdf \\othershare\otherpath\file.mdf"


However, you would be better just making a backup (which from SQL Server 2008 R2 supports compressed backups) and you will get a faster transfer than detaching and copying files.  Not to mention the risks of detaching a file and not being able to reattach.

Recommendation: Use BACKUP and RESTORE.