My ahj allowed exposed romex runs from the breaker box up to the attic. I didn't measure, but the top of the box is around 7 feet of the floor and the ceiling is 10', so a 3' run of exposed romex. All runs to outlets and switches are behind drywall though. Eventually, I'll put a cover box over it for cosmetic reasons.
All the attic runs are supported by 2x4s under them or stapled up to joists every 4'. Runs within 10' of the attic access need protection from walking on them. Basically build a simple U box to lay the romex in, run the wire on the side of the joist, or better yet, don't run wire near the access hole.
My garage is detached, so not sure if that matters. It isn't a "dwelling" by code.
Now running exposed romex around outlet high would be silly, code allowed or not.
Most un-finished basements I've seen have exposed romex stapled to the bottom side of floor joists.