I've driven both, and I can say that the E46 M3 is the more exciting car and the car I would pick. The 135i is an objectively 'nicer' car IMO, it has more features obviously and will almost certainly be in better shape because of the age difference. The 135i is still a great car, and fun to drive, but I don't get as excited driving it as the M3. The 135i actually has more torque at low revs than my E92 M3, and driving it around town it feels faster even though it's not, because of the low RPM torque surge. I think for track use the E46 M3 wins hands down, but for town it is a really close call.
E46 M3= more fun, more exciting
135i= better features, better condition, looks newer, way more torque