How can I pass a 10 bit value to a module that needs a 12 bit input in verilog?
In this case, you want to concatenate two zero bits to the beginning of your 10 bit word to create a 12 bit word.

You can do this with the verilog concatenation operator {,} like this: 

bin2BCD instance_name (
   .bin12_in({2'b00, M}),
   .thousands(digit3),
   .hundreds(digit2),
   .tens(digit1),
   .ones(digit0)
);