No, 018 numbers are not free to call on any UK mobile network operator, including O2.
Cost of calling 018 numbers
018 numbers are a set of local rate numbers similar to others starting 01 and 02 area codes within the UK, this means they are technically not free to call from any UK mobile network operator. However standard monetary charges can be avoided if you get inclusive minutes as part of your monthly O2 tariff, regardless of whether you are a Pay & Go or monthly contract customer. Alternatively if you have run out of your minutes you will have to pay an access charge of 30p-35p along with a similar per-minute rate in order to call the specific 018 telephone number. Finally remember that these numbers are not to be confused with premium-rate 118 numbers which can be charged at several pounds per minute and thus should be avoided.