First of all, 31k is not the genuine mileage. So forget if its gonna run like a new car..
Its a CVT car with a 1000cc engine. It is supposed to have slow acceleration but it depends what car you were driving before. Engine noise is a normal thing for 1kr-fe engine but it should not be too much. Here are few things that you can do to make it better..
Change your engine oil to one of the following...
Caltex Havoline Formula 10w30. Around 2100 for 4 litres.(I'm using this).
Toyota Petron Plus 10w30. Around 2400
Toyota Genuine oil tin pack 10w30 or 5w30. Around 3400
Shell Helix HX7 E 5w30.
These oils provide best possible fuel average and smoother drive with better acceleration. I have used so many oils Zic, Kixx, Shell, Caltex, Toyota.. Imported oils and synthetic oils for Vitz are just a waste of money.. They dont do anything better for the car except longer oil change interval. But i think buying a normal oil and changing after 3000 kms is better than buying expensive oil and changing after 6000kms in this hot and dusty environment.
Do not compromise on filters. Always use Toyota genuine air and oil filters.
Get your throttle body cleaned.
Clean or change plugs.
Get the fuel injectors cleaned.
Change the CVT oil. Its a bit expensive so i would recommend you to get it inspected from a workshop.
Where do you live? Toyota Airport motors has the best workshop and mechanics but expensive.. I don't go anywhere else now as they solve the problem with just one visit as compared to others. I had few problems in my car and spent a lot of money to get them resolved from different workshops. I went to them and solved both problems and its been a month now that i haven't faced the same problem again.
If you do not want to spend much money then Magic motors model town is a good place. Just google Magic Motors and you will be able to get there address on their website.
Try all the above mentioned things if you still face the same problem then we can go to the next step i.e Catalytic Converter and Fuel filter.. or call me at 03214215750 and we can meet somewhere and you can check the difference between my car and yours.. if there is any..