Вы не можете стилизовать псевдокласс только для определенного элемента, точно так же, как вы не можете создать псевдокласс во встроенном атрибуте style = "..." (поскольку здесь нет селектора).
Вы можете сделать это, изменив таблицу стилей, например, добавив правило:
#elid:hover { background: red; }
предполагая, что каждый элемент, на который вы хотите повлиять, имеет уникальный идентификатор, позволяющий выбрать его.
Теоретически вам нужен документ http://www.w3.org/TR/DOM-Level-2-Style/Overview.html, что означает, что вы можете (с учетом уже существующей встроенной или связанной таблицы стилей) использовать синтаксис, например:
document.styleSheets[0].insertRule('#elid:hover { background-color: red; }', 0);
document.styleSheets[0].cssRules[0].style.backgroundColor= 'red';
IE, конечно, требует своего синтаксиса:
document.styleSheets[0].addRule('#elid:hover', 'background-color: red', 0);
document.styleSheets[0].rules[0].style.backgroundColor= 'red';
Старые и второстепенные браузеры, скорее всего, не поддерживают ни один из синтаксисов. Динамическая перестановка таблиц стилей выполняется редко, потому что это довольно неприятно, редко требуется и исторически проблематично.