Yes. This is fairly common. However, I don’t think there’s a way to mark it as required (similar to the abstract keyword in C++).
Two ways you can do this.
The first is to mark the UPROPERTY as BlueprintReadWrite. This allows you to open up the Construction Script and set the value of the StaticMesh variable.
Another way is to mark the UPROPERTY with some EditX. I forgot exactly which Edit it is. It’s either EditDefaultsOnly or EditInstanceOnly. (One of them allows you to select an instance of an object within the Properties tab (what you want), the other allows you to select the type of object (kinda like TSubclassOf)).