How can I compare two queries X and Y and say that X is better than Y, when they both take almost the same time in small cases scenarios?
The problem is that I have two
As already mentioned, check the execution plans.
Importantly, compare the 2 queries fairly by clearing the cache down between each run, just to make sure you're not seeing skewed results due to the effect of data already being cached (don't run on production server):
DBCC DROPCLEANBUFFERS -- clear data cache
DBCC FREEPROCCACHE -- clear proc plan cache
Then what I usually do is check the Reads, Writes, CPU and Duration for a comparison.
It's very important that you test with production-level data volumes (and ideally greater to see how it will scale). It's at those volumes that you'll really see any performance difference. Testing with small data volumes could leave you open to problems later on.