imperfect power control
I'm assuming this is the uplink channel since you want the received power to be different for each user. 

A DSSS has a chip sequence that modulates the incoming signal. Basically the chips are just +1 and -1 and hence your TX signal power still is determined only by the incoming signal. 


Generate random bits - A simple function randint.
Modulate them however you want - You can use qammod. - Check out the book "Fundamentals of Digital Communications" by Proakis - Chapter 3 for intricacies regarding energy Normalization for constellations. 
Pass them through a Pulse Shaping filter of sufficient length. Check this link out for the same: http://www.mathworks.com/help/dsp/examples/pulse-shaping-filter-design.html
Multiply with the Chip Sequence. The way DSSS works is each user will have a Spreading code that is almost perfectly orthogonal to each other user. I think MATLAB can generate spreading sequences you might want to see: http://www.mathworks.com/help/comm/examples/spreading-sequences.html
Once you've generated the signals for all users, pass them each through a Flat fading Channel(you can consider different average received energy and generate the fade vector with variances appropriately - this will give you different SINRs) - You'd want your Chip period Tc to be very small compared to the DelaySpread of the channel and you can assume this which will hold the Flat Fading condition to be true. Multiply the fade vector for each user symbol by symbol with their corresponding signal points. 
Receiver receives the Linearly combined signal and then you need to generate an equivalent length AWGN vector considering the average TX energy as the average TX energy you generated at the each user but the signals from each user suffered independent and different fades with different paths leading to different SINRs. 
or AN ALTERNATIVE FOR (5,6): After spreading the sequences, alternatively you can multiply the whole signal for each user by a constant at the Transmitters before the fading channel leading to different energies(equivalent to different Path Losses for each signal) and linearly combine them all, Transmit and Receive on just one Fading Channel. Further you'd need to add AWGN considering the Average Signal energy of the signal you generated at the output of the Modulator(essentially the average energy of the Constellation).
The receiver now is like a Multi-User detector; you need to create copies of the received signal(as many number of users) and correlate with the Spreading sequences for each user.  You will essentially now remove the spreading code(Since synchronization is perfect) and you'll have the received signals for each user with different SINRs and so you can proceed to Matched Filtering using the same Filter you used for Pulse shaping at the Transmitter, Sampling, Demodulation using qamdemod and Detection using Maximal Likelihood(Minimum Distance). 


You can refer to "Wireless Communications" by Andreas Goldsmith on further technical details in Chapter 3 for Fading and Chapter 13 and 15 for Multiuser Spread Spectrum Systems. 

Note: Since you've titled this as Imperfect Power Control, I'd say the alternatives for 5,6 make more senes - the TXs are having bad knowledge about the channel and are not transmitting according to proper Powers.