We know the private key should not be longer than 256 bits. But if I choose one longer key X, for example 300 bits key, and use it generate a pub key and address. Can I use X to generate the standard private key Y to signature the address properly?
The question doesn't make a lot of sense. If you have something which is not a valid private key, you cannot generate a public key and an address from it.
That said, given a 300-bit string, you can interpret it as a private key in any way you want. For example, you can treat it as an integer, and the corresponding private key will be the remainder of this number divided by the order of the group. You can use this private key for both creating the address and later signing. And if you want, nothing is stopping you from storing the original 300-bit string, to be converted to the private key whenever needed. Not much sense in doing any of this, though.
You're describing deterministic wallets where a seed can be used to generate an extended private key and from that you derive child private keys. The seed can be any size you like. It gets run through sha512sum to derive the xpriv.