Yes, you can use a single client to make multiple simultaneous calls. In fact, this connection sharing is one of the major benefits of using gRPC.
You can't exactly check the current status, but you can use grpc.waitForClientReady, which calls your callback when either the client has finished attempting to connect or the deadline has passed, and passes an error if the client has not connected successfully. But using that function is generally unnecessary. If you make a call on a client that is not currently connected, it will do the right thing and start trying to connect.