Тут всё просто. Перегоняем массив в создаваемый функцией объект, а в плагинах работаем с ним как с обычным массивом:
function $(...) {
return new $.init(...);
}
$.init = function (...) {
var I = 0;
for (...)
this[I++] = ...
this.length = I;
};
$.prototype.plugin = function () {
for (var i = 0; i < this.length; i++) ...
};