No, it is not possible. The *only* functions that can return either one or two returns are builtins.
That's because the number of returns is part of the type of a function, so it is constant for every function.
Builtin "functions", OTOH, are not really functions, in terms of the language. They are intrinsics of the compiler, which parses the call-expression and translates them into machine code or calls into the runtime (which is also how they can be generic, without Go having generics). You can see that by trying to assign a builtin function to a variable:
https://play.golang.org/p/0EiSIIqSLhpThis would be possible for every function - but `append` has no type, so you can't put it in a variable (which would need to have the same type as `append`).
What you ask is just categorically impossible in Go.