902 numbers are definitely not free. They are more expensive than calling normal land lines.
Most customer service numbers are 902 numbers but there is always a normal land line associated with it. Calling this normal numbers bears no additional cost and if you have calls to landlines included as part of your ADSL service, calling 902 numbers are not included but calling the normal land line associated with it, is in fact included. There are some websites where you can find the normal landline number associated with the 902 but they are generally in Spanish.
Free numbers in Spain start with 900. When you call a 900 number, it is the owner of the 900 number the one who pays for the call and not you but you cannot call a 900 number from outside Spain.
You can call 902 numbers from outside Spain with no problems but you have to pay the additional cost involved. Apparently you cannot use low cost calls or VOIP such as Skype or Viber to call 902 numbers.
All of this is true also for 905, 906, etc. numbers.