First, a lot depends on where you are. In California, non-competes have been held invalid by the State Supreme Court. So if you're in CA, either when you sign the non-compete or subsequently, they can take the non-compete, fold it pointywise, and stick it - it's a totally invalid legal document. But that only applies in CA - you'd have to check with your local legal mavens.
Second, if they're paying you for future work, they can't make you sign over rights/etc. to prior work. A contract is an exchange of value. If they're demanding you give them something of value (your prior work) and not providing you with value (additional payment), then they don't have a valid, enforceable contract, at least not in the US.
I would suggest (a) scratching out the non-compete, and (b) scratching out the "prior work" clauses. And yes, get a lawyer.