> Please advice if I'm prematurely optimizing 

It is premature; you can always add properties to any non-primitive value. If there is the need for a future value, you could do:
```js
req.vhost = Array.prototype.slice.apply(matches, 0)
req.vhost.awesome = 'yep';
```
and people can look at `req.vhost.awesome` just fine.