Hmmm
Employers (and the staff who are working on their behalf) have the right to make 'reasonable' demands upon their employees to facilitate the smooth operation of their business. It would take a court decision to decide exactly what is, or isn't, 'reasonable' in your case but (given that your employer already has your passport details anyway) it would seem that the issue relates more to the way that those details are stored than to the actual possession of them.
The Data Protection Act requires your employer to store your personal information securely. If, for example, a photocopy of your passport was held in a secure safe (to which only authorised people had access) it would probably comply with the requirements of the DPA. Similarly it would probably be legally OK if the information was stored on a computer in a password-protected form (but the company's nominated Data Controller should know about it).
Perhaps a practical solution would be to provide the company with a photocopy of your passport but placed inside a securely sealed envelope which could be kept in a locked safe or drawer and then only opened in your presence if the need arose?
To be fair to your employer, the company does seem to be trying to find a way around the alternative of taking disciplinary action against anyone who turned up without their passport. (It would almost certainly be deemed a valid reason for dismissing an employee if he failed to turn up without his passport more than a couple of times over, say, a rolling three year period).
Chris
PS: I've assumed that Scottish law is the same as English law as far as your problem is concerned. That's likely to be the case but I'm no expert!