You need to use the STUFF function to achieve what you are looking for explicitly. If you follow the link says it deletes a specified number of characters at the end of the string and replaces them with another string. Combine the with the LEN function and we can get you on the road.
--Test Data
DECLARE @table AS TABLE (word char(10))
INSERT INTO @table VALUES ('me')
INSERT INTO @table VALUES ('mem')
INSERT INTO @table VALUES ('tap')
INSERT INTO @table VALUES ('t')
DECLARE @minword char(5)
DECLARE @maxword char(5)
SET @minword='ai'
SET @maxword='t'
--SET @maxword='tb'--(remove the rem at the start of this line to unlock an extra test for comparison...)
--Query
SELECT word
FROM @table
WHERE STUFF(word, LEN(word)+1, 5, 'aaaaa') BETWEEN STUFF(@minword, LEN(@minword)+1, 5, 'aaaaa')
AND STUFF(@maxword, LEN(@maxword)+1, 5, 'aaaaa')
Alternative solution based on your revised requirements:
DECLARE @testtable AS TABLE (word varchar(20))
INSERT INTO @testtable VALUES ('ly')
INSERT INTO @testtable VALUES ('Ly')
INSERT INTO @testtable VALUES ('Zoo')
INSERT INTO @testtable VALUES ('r')
INSERT INTO @testtable VALUES ('traci')
DECLARE @minword varchar(20)
DECLARE @maxword varchar(20)
SET @minword='ly'
SET @maxword='zol'
SELECT word, LEFT(word,LEN(@minword)), LEFT(word,LEN(@maxword)), @minword, @maxword
FROM @testtable
WHERE LEFT(word,LEN(@minword))>=@minword
AND LEFT(word,LEN(@maxword))<=@maxword