7-8 days should be good enough to cover most of the places .Are you looking for budget stays then you should look out for deals on mmt or Airbnb. Travel costs won't be very high from India. For e.g. if you are travelling from Bangalore then one side tickets should be around 5-8k depending on how early you book. Visa on arrival is available for Indian citizens so that's not a concern. Plus the rupee is stronger there so things are not very expensive there. Happy travelling!
When you are at Colombo, do visit Casinos.. especially Bally's Casino. In Srilanka, there's free entry, free food and free mocktails for foreigners in casinos. Do carry your passports and try your luck at the games :)