It is considered acceptable, but I think bad practice.. Why not "xxx Squawk Ident, on passing 4000' fly heading zzz". Then "xxx climb FL...".
Far easier for crew to take in this in two calls, and less likely for them to query the clearance. There is no way a controller does not have time for this, if they have control of the RT..