Almost positive that you can
As far as I know, you can port a pre-paid number to a new contract and retain this number as a number4life.
As for transfering it onto an existing contract, you would need to request a number change with your service provider (approx. R300), informing them that you would like to use your prepaid number as the new contract number.
Please, be absolutely sure that they port your number onto the contract, and that it is not deleted off the network.