But you need to get $node from somewhere to be able to call it, so basically you need to fetch it.
The fetches are only as complex / heawy as you let them (ref list or tree fetch with lots of filters), the only baseline overhead is that the abstraction causes some 3-6 php functions to be called internally to do the fetch. If you want to lower that then you can create a template function where you do the fetch directly against db or ezp php api(eZContentObjectTreeNode::fetch).