I do that too in SQL code... Usually . But for that I think the general idea is to be able to distinguish between parameters passed into a stored procedure and variables. There is less of a need in RM... Though perhaps one use of that approach, which now that I think about it I used, was to put a prefix on global variables (GV_) to distinguish those from local variables in a rule.
Personally, I don't; there are limited contexts in which they can be used where they could possibly be confused with a device, so I don't see a reason to. A descriptive name is all I care about, while still making it short enough to use (or see) easily.
I do name some virtual devices starting with "virtual," especially if they don't really serve a single real-world device (but for an example that does: my switches like "Timed Kitchen Fan," a virtual device that turns the kitchen fan on for a half hour or so before turning it back off). This helps distinguish them easily from physical devices, whether in device lists or with misheard voice control commands and whatnot.
That is where I was heading with my comment too, there is more context provided when working with variables in RM, or any app for that matter, you are typically performing an action that is acting on or using a variable verses a device, and the even if there are similar concepts between local and global variables you can typically indicate the different purpose simply through the terms used rather than a prefix.