Тест, который вы делаете, неверен, так как вам нужно включить uid
т.е.
if (x > spritea[someuid][0] && x < spritea[someuid][0]+spritea[someuid][2]){
Но это может быть лучше:
function Image(id, x, y, w, h)
{
this.width = w;
this.height = h;
this.x = x;
this.y = y;
this.IsXInside = function(x) { return (x > this.x && x < (this.x + this.width)); };
}
Вы создаете изображения:
spritea[uid] = new Image(id, abposx, abposy, imgwidth, imgheight);
Тогда тест становится
if (sprite[someuid].IsXInside(x))