Not really--the closest you can get is that the built-in
%device% variable will refer to the name (but not the underlying "device object") of the triggering device. As a proof of concept, I did once demonstrate that you could write conditionals based on the device name to act accordingly to which device it was that triggered the actions to run, but this has obvious downfalls (prone to typos, needing change if the device name changes, and just generally being an awkward workaround). This is not something I'd generally recommend, though like many things in RM, it's certainly possible.
I'm not sure if there's really a good reason to combine these rules into one if it's what it sounds like: separate triggers and separate actions. If so, you'd really be making it more work for your hub, having a giant rule with a lot of device/event subscriptions and a complicated "Actions" section full of conditionals where it figures out what to do when. There's no reason to not prefer separate rules in this case, except that I understand you might not like having multiple "child apps" (rules) in your list. (If all your devices just have different "off" intervals but those are all triggered by, say, the same motion sensor, that that's easy to do and is actually a great candidate for having all these actions in the same rule.) There's no harm in that, but if it still bothers you, it may be a good case for a custom app. I don't have one nor am I aware of one that would suit your needs, though Timed Switch Helper comes close. Unfortunately, that's also one child app per device, not one giant app to rule them all.