As far as I'm aware Sky can't easily find out what the non-geographical number is of any alternative number (geographical) you ring.
Only a few companies would know this and unless Sky was the owner of the number then I can't seem them knowing any other way except to search our database for the geographical and charge as if dialled the non-geographical number.
Sky is just an OCP (Originating Communications Provider) meaning the call leaves their network but they have no idea what the underlying number is because only the telephone company that owns the number knows the real geographical number or non-geographical number rang.
For example, say I'm on Sky (I'm not) and I ring the real geographical number (01 or 02) for the DVLA then Sky would need to know and have access to the database the telephone company that owns the DVLA number. What normally happens is that Sky would just route the call as normal regardless of whether it's geographical or not because only the telephone company that owns DVLA's number would know this and have access to it and Sky don't and this is why other providers generally charge higher than BT for non-geographical calls simply because BT charges their rate for non-geographical numbers so in this example Sky would then just add on a little bit to make a little profit from the call.
Are you sure it wasn't the OH or someone else?
Even if it were possible (which I don't think it is) for Sky to know either the real geographical number for a non-geographical or the non-geographical number for any geographical number rung, then I do think this would be illegal because you're technically being billed for calls that you haven't technically made regardless of whether or not the number translates to another number.
If you think about it, if it were that easy to determine the non-geographical number for any geographical number rung then that would mean they could do the same when a customer of theirs rings a non-geographical. If Sky could do this then they could save money because if a customer of theirs was to ring a non-geographical number then Sky could charge you for ringing that non-geographical number but yet their system translates this into a geographical number so it only costs Sky the geographical rate to route the call and not the non-geographical rate - saving Sky money but obviously while still charging their customers the rate of the non-geographical number.
Sorry if I've confused anyone!