The #pragma is more like a #define in terms of names, as opposed to a variable declaration.

Your code is very close; something like this would work fine;

    #pragma config(Motor,  motorA,          light_blue,    tmotorNXT, PIDControl, encoder)
    
    void testThing (tMotor  motor_name)
    {
    	motor[motor_name] = 20;   // set power to 20
    }
    
    task main()
    {
    	testThing(light_blue);
    }

The actual type of a tmotor is an enum (and used like an int) and the definition can be found in RobotCintrinsics.c included with the product.

for exmaple;

    #if (1)
    
      // the actual 'enum' values for 'tMotor' are automatically defined by the ROBOTC compiler. Each platform
      // and circuit board type has its own set of "enum names" and it was becoming too hard to manage them in
      // this file. So they are automatically configured by the compiler which has better utilities for managing
      // differences between platform types.
    
      typedef enum tMotor;
    
    #else
    
    	// The old definitions are temporarily maintained here as well until the new implementation is confirmed
      // to be working well!
    
      #if defined(NXT) || defined(TETRIX)
    
    		typedef enum
    		{
    		  motorA = 0,
    		  motorB = 1,
    		  motorC = 2,
    		  mtr_S1_C1_1 =  3,
    
    	... etc