Yeah. I've just had this conundrum. I was gonna get a HTC One S a while back, but dithered and all the cheap deals disappeared & now the phone isn't easily available on good deals.
The One S for me was a good compromise between performance & size.
I wanted to replace my HTC Desire with something that was perhaps a little bigger, but with a decent spec in terms of speed, memory, screen resolution etc.
There doesn't seem to be 'small' high end phones though. The manufacturer's seem to think that if you want a small phone, you must want a cheap phone.
I ended up getting an Xperia T on Three for £18/month from buymobilephones.net - and am pretty pleased with it so far. There are a few annoyances with it, but nothing major.
All the reviews reckon the battery life is cak, but it seems OK for my 'normal' use and I normally have it charging in the car or can plug it into a monitor at my desk while at work. It did eat the battery to start with, but I found loads of apps that were constantly updating & syncing, so just changed all their settings and that improved it massively.
The screen is very good (although the reviewsa are correct about contrast falling off when not viewed head on), the camera is great and all the other bits seem pretty good too.
I bought some NFC tags for it, so I can alter the phone set-up at work, in the car, when I go to sleep etc. but I haven't really fiddled about with that yet....