Smalltalk doesn't have operator overloading. Because it doesn't have operators. In C++, you have operators and methods as distinct, but kinda similar, entities. In Smalltalk, you just have methods. Period. So when you see '+' in Smalltalk code, it is not an operator (because they don't exist in Smalltalk). It's a message send. The left side object acts as the receiver, and the '+' method is sent to it with the right side object as the sole argument.
So what you could do, would be to define a new numeric object, which encapsulates your date dynamic data in it.
You don't say which Smalltalk you're using, but most flavors use the double dispatch
pattern to enable transcendental math between "math aware" objects. If you provide some more detail on your problem, maybe I'll provide some more detail via an example here...