Using Kalman Filter to fuse two sensor readings of the same type
The answer to the first question is yes, it is possible to fuse data coming from the same type of sensor. For example, the fusion of two different accelerometers, each with a measurement quality, gives a weighted average where the weights are the inverse of individual variances (see Kays's[1] book for details).

The answer for the second is yes as well, it is possible to fuse IMU with GPS measurements. But note the one returns a position itself, while the other measures the second derivative of the position. The fusion demands well elaborated models. There are plenty of papers and books with models and its theory. I would recommend, for example, Farrel's[2] and Titterton's[3] books.You can easily find implementations of the fusion filters in internet. Open source projects of drones, for example, have it.

[1] KAY, Steven; Fundamentals of Statistical Signal Processing, Estimation Theory.

[2] FARREL, Jay A.; The Global Positioning System and Inertial Navigation.

[3] TITTERTON, D. H.; Strapdown Inertial Navigation Technology.