Вопрос: каким образом это реализовать на JS (п. 4), чтобы активация проходила в режиме реального времени?Самое простое - использовать pusher, который из коробки работает в Laravel и для ваших целей будет, скорее всего, бесплатен. Вариант посложнее и кривее - писать в базу, а на стороне АРМ делать периодические ajax-запросы для проверки. Уровень с боссом - писать демона, который будет слушать какую нибудь ZeroMQ и толкать обновления по веб-сокетам.
Как сделать привязку конкретного компьютера к номеру АРМ (не привязываясь к IP-адресам, MAC-адресам и именам компьютеров)?Опять же, самое простое - сделать отдельную сервисную страницу, на которой будет проставляться номер. И писать его в LocalStorage. Вариант побезопаснее - писать в сессию, но для этого нужно аутентификацию и постоянно её пинать, чтобы не отвалилась.