Technically this could be done. Because of Excel's less than robust security, you might find some who can get around the protection.
You will need to write a macro that runs when the workbook is opened. This macro will need to test the machine name against some table of acceptable machine names. If the machine name is in the table then the rest of the macro will run; otherwise, the macro will force Excel to close.
That is a very simple analysis of what to do. Since it is a macro, the user will need to have Macro execution enabled. You will need to test for macro execution enabled and handle the case where it is not. You can find posts that discuss this issue and handle it properly.
You will need password-protect the VBA Project code to keep a user from messing with it.
Then, you will need to have some process to keep the machine name table updated.
Now, if you are in a network you may be able to configure the "Sharing and Security" settings on the actual file to limit who can read and write the file, but that will be user based, not machine based.
What you ask is doable (after a fashion) but will probably be more trouble that it is worth.