Convert infix regular expression notation to postfix
General Observations
It is difficult to accurately define any bottle necks when only one function is presented. The brief moment when main() and match() were visible was very helpful, although it would have been nice if the body of match() was included as well.
It might be better to use a power of 2 (1024, 2048, ...) for MAX_LINE rather than a round number like 10000.
The code is overly complex and should be broken into multiple functions, this is actually proved by the multiple goto RELOOP; statements. These goto statements can be replaced by break; and continue and in one case by the return of a function. Try to avoid writing Spaghetti code.
Implement Stacks using Structs
It is much easier to maintain code when the stack pointer and the stack container (array) can be found in one place. Rather than write push and pop as macros, implement them as functions that take a stack struct, and in the case of push the parameter of what is being pushed on the stack.
Magic Numbers
While there are symbolic constants used rather than number constants in some parts of the code, this could be improved, it is also possible to use enums rather than #define to define symbolic constants in C and I would recommend using enums to represent the error ids because it is expandable.
typedef enum Error_Code
{
    REGEX_TOOLARGE = 1,
    PAREN_MISMATCH = 2
} Error_Code;

Just a quick though here, if the error codes start at 0 rather than 1 than any error messages could be stored as an array of strings.
The place where there are still magic numbers is in this code:
    int prec_map[OP_NUM] = { 1, 2, 3, 4, 4, 4 };

It isn't clear what any of those numbers mean.
It isn't clear that OP_NUM is necessary because the count can be determined by either one of the following:
    char id_map[] = { '(', '|', '.', '?', '+', '*' };
    const size_t OP_NUM = sizeof(id_map)/sizeof(*id_map);

or
    int prec_map[] = { 1, 2, 3, 4, 4, 4 };
    const size_t OP_NUM = sizeof(prec_map)/sizeof(*prec_map);

Numeric constants in code are sometimes referred to as Magic Numbers, because there is no obvious meaning for them.
Posible Optimization
Use strlen() only once and store the value in a variable.