Вам придётся написать свой конструктор с блэкджеком и шлюхами (потребуется реализовать наследуемые методы item, namedItem и свойство length), создающий неизменяемый объект.
Однако, есть ещё один вопрос — ваши объекты будут «живыми», как нативные NodeList и HTMLCollection? В этом случае потребуется реализовать отслеживание изменений DOM (с помощью того же MutationObserver).