In short, you can't.
You could in the Objective-C 1.0 ABI/API via:
OBJC_EXPORT void class_removeMethods(Class, struct objc_method_list *) OBJC2_UNAVAILABLE;
But that function was removed in Objective-C 2.0 because removing methods is pretty much never the right answer. Certainly not often enough to justify the overhead incurred by supporting said feature.
Also removed from the ObjC2.0 ABI was the ability to directly access the class/method structures. They are now opaque so that they can be changed in the future without breaking binary compatibility.
What you could do, though, is use a custom proxy that varies the set of methods that it responds to. See documentation for the NSProxy class; http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSProxy%5FClass/Reference/Reference.html
Of course, this question begs the question "What are you trying to do?". Such on the fly meta-programming is atypical. Once a class is instantiated, it isn't normally considered desirable to change the set of methods it responds to under the assumption that previous instantiations may still depend on said methods.